我有一个批处理文件(run.bat
),用于更改我的 IP 地址设置:
netsh
interface
ip
set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2
当我直接在 shell 中输入该命令时,该命令按我预期的方式工作cmd
,但是当我将其输入run.bat
(以管理员权限运行)时,该命令不起作用。
我该如何解决?
答案1
当您netsh
在命令提示符 ( cmd
) 提示符下键入时,您开始运行该netsh.exe
程序。接下来的三行是该程序的输入,并由该程序读取和处理。
cmd
不允许在.BAT
文件中出现此类内容。但您可以执行以下解决方法来使netsh
相关命令
是输入至netsh
:
(echo interface & echo ip & echo set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2) | netsh
为了使脚本更具可读性,请用以下行分隔长行^
:
(echo interface & echo ip & echo set address "lan" ^
static 192.168.30.77 255.255.255.0 192.168.30.2) | netsh
答案2
您需要将整个命令放在一行上,以便将其传递给netsh
可执行文件。
netsh interface ip set address "lan" static 192.168.30.77 255.255.255.0 192.168.30.2