方法一:分步命令
1、设置主DNS
RunWait(@ComSpec & ' /c netsh -c interface ip set dns "本地连接" static 202.102.152.3 primary',"",@SW_HIDE)
2、设置备用DNS
用interface ip 里的set命令确实不能直接设置备用DNS。对于设置备用DNS可以用 netsh interface ip add dns 命令。
netsh interface ip add dns "本地连接" 202.102.134.68 2
Runwait(@ComSpec & ' /c netsh -c interface ip add dns "本地连接" 202.102.134.68 2',"",@SW_HIDE)
写成脚本就是
Runwait(@ComSpec & ' /c netsh -c interface ip set dns "本地连接" static 202.102.152.3 PRIMARY',"",@SW_HIDE)
Runwait(@ComSpec & ' /c netsh -c interface ip add dns "本地连接" 202.102.134.68 2',"",@SW_HIDE) 注意这里第一个RunWait不能写成Run,这是由于两条命令的差别在于,RunWait是等待命令结束再执行下一条命令,而Run是本条命令开始执行即继续下面的命令。
如果第一条写做Run则两条命令几乎同时开始执行,结果第二条可能执行的比较快而出错。
方法二:还原网络设置脚本
设置IP,DNS,Win等方面可用还原设置脚本的方法,即先用
netsh -c interface ip dump >d:old1.txt
把设置导出来,修改为一个脚本文本放在AutoIt脚本同一目录下。再用命令恢复。
恢复命令可写为
Runwait(@ComSpec & ' /c netsh -f "' & @ScriptDir & 'old1.txt"',"",@SW_HIDE)
找了一圈发现autoit3 还要加函数的 嘿嘿