无法使用命令快捷方式设置 DNS

无法使用命令快捷方式设置 DNS

我正在尝试使用命令提示符为网络适配器设置 DNS(主 DNS 和辅助 DNS)。因此,我使用以下命令创建了一个 Windows 快捷方式:

C:\Windows\System32\netsh.exe interface ipv4 add dnsservers "Ethernet" address=8.8.8.8 index=1 & C:\Windows\System32\netsh.exe interface ipv4 add dnsservers "Ethernet" address=8.8.4.4 index=2

但不知为何它不起作用(也没有给出任何错误)。如果我直接在命令提示符中执行此命令,它就可以正常工作!不用说,我以管理员身份运行快捷方式,因此不存在任何权限问题。但是,我不知道是什么问题。我是不是漏掉了什么?

任何帮助都将不胜感激。谢谢!

答案1

命令&分隔符是一个功能Cmd.exe 解释器– 它不适用于在 Windows 中启动程序。其他启动程序的方式(本例中为 ShellExecute)不理解任何 Cmd 特定的语法,只是将所有内容作为一个命令运行,并使用 & 作为普通参数。

(这与 Linux 中的工作方式非常相似,许多此类事情都由 shell 进行解释。)

要运行两个命令,请

a) 将它们都放入脚本文件 (.bat/.cmd) 中并为该脚本创建快捷方式,或者

b)调用 Cmd 并要求它解释命令行:

cmd /c "netsh this & netsh that"

相关内容