2012-07-26 103 views
2

我已经写在Windows 7上一个脚本,一直给我的。“(在这个时候意外”的错误以下代码批处理脚本语句 - 意外(

if %vardns%=="NODNS" (
    netsh interface ipv4 set address name="%__ethAdapter.42%" source=static addr=%varip_old% mask=%varsubnet_old% gateway=%vargateway_old% gwmetric=1 
) else (
    netsh interface ipv4 set address name="%__ethAdapter.42%" source=dhcp 
) 

我不知道在哪里问题在于,并已提前看了很多其他职位任何帮助,将好心不胜感激谢谢

+0

看起来对我有好处吗? - 你需要改正:'if%vardns%== NODNS('也就是说没有引号,但我不会认为是造成那个错误 – 2012-07-26 15:45:44

+0

检查'%vardns%'的值没有特殊字符 – adarshr 2012-07-26 15:50:11

+0

Put ECHO ON在失败的命令之前运行,然后运行脚本,然后你可以看到变量扩展后的命令是什么样子,希望在问题出现的时候变得更加明显,如果你无法确定它出版,发布扩展版 – dbenham 2012-07-26 15:59:22

回答

3

你得到这个错误,因为vardns可能是空的,并解释解开这一行:。

if =="NODNS" (

这是非法的语法。

你已经被告知做的是正确的 - 加引号%vardns%,像这样:

if "%vardns%"=="NODNS" (

,它应该工作。

+0

增加的引号固定它,非常感谢快速回复。 – 2012-07-26 16:24:36