批处理文件无法运行多行命令时遇到问题

时间:2019-05-14 23:18:04

标签: batch-file

当前,我正在尝试制作一个批处理文件,以禁用我的teredo客户端的某些设置,从而最终解决我的Xbox应用程序出现的错误。当我运行当前的批处理文件时,它仅输入第一个命令,并且不再进行任何操作。我对批处理文件不是很熟悉,我想知道是否有人可以帮助我。

我尝试为每行制作多个批处理文件,然后在常规文件中全部调用它们,但是一切似乎都在运行第一个命令。

这是我所拥有的:

@echo off
netsh & 
int teredo &
set state disabled &
int ipv6 &
set teredo client 

基本上,我希望在运行int teredo行后弹出命令提示符,并对每行给出多个响应,例如“ netsh interface teredo>”,但我收到的唯一响应是“ netsh>” “。

2 个答案:

答案 0 :(得分:1)

只需创建一个名为 mynetsh.cmd 之类的批处理文件,然后添加以下内容:

(echo int teredo
echo set state disabled
echo int ipv6
echo set teredo client
)>answer.txt
netsh exec answer.txt

它将每个命令回显到文件,然后netsh将从文件中读取命令。无需删除答案文件,因为下次运行脚本时它将被覆盖。

答案 1 :(得分:0)

@echo off ( netsh int teredo set state disabled int ipv6 set teredo client )

这是第一次工作,但是没有第二次。

将此命令放在批处理文件中:

netsh -f test.txt

test.txt:

int teredo 
set state disabled 
int ipv6 
set teredo client

NETSH

Use NETSH scripts to manage a Windows information network

  

正确完成工作的方法实际上涉及创建两个   不同的脚本。第一个脚本是包含所有内容的脚本   NETSH命令。在这种情况下,脚本将包含   命令DHCP和SHOW SERVER。另一个脚本将是一个批处理文件   在命令模式下调用NETSH。但是,NETSH的方式   输入命令将强制NETSH从命令模式切换到批处理   模式。

     

在这种情况下,批处理文件将调用NETSH shell,但是   使用EXEC命令和批处理模式脚本的名称为   参数。例如,如果您将批处理模式脚本另存为   TEST.TXT,然后运行脚本的批处理文件中的行将   是NETSH EXEC TEST.TXT。执行批处理文件时,命令   解释器将读取该行,加载NETSH shell,切换到批处理   模式,加载脚本TEST.TXT,执行脚本,然后返回   当出现以下情况时,命令提示符(或批处理文件中的下一行)   脚本完成。