If statement 批处理脚本if语句-意外(
我已经在Windows7上编写了一个脚本,它不断地给我一个错误“(此时是意外的)”If statement 批处理脚本if语句-意外(,if-statement,batch-file,If Statement,Batch File,我已经在Windows7上编写了一个脚本,它不断地给我一个错误“(此时是意外的)” 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 a
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
)
我不确定问题出在哪里,并且已经阅读了许多其他帖子。如有任何帮助,将不胜感激。请提前感谢。您收到此错误,因为
vardns
可能是空的,解释器将此行展开至:
if =="NODNS" (
这是非法的语法
建议您做的是正确的--在%vardns%
周围添加引号,如下所示:
if "%vardns%"=="NODNS" (
它应该可以工作。在我看来还行,还有吗?-您需要更正:
如果%vardns%==NODNS(
即,没有引号,但我不会认为这是导致错误的原因检查%vardns%
的值是否没有特殊字符。在失败的命令之前放置ECHO,然后运行脚本。然后,在变量展开后,您将能够看到该命令的外观,希望它将成为mo很明显,问题出在哪里。如果你想不出来,请发布扩展版。添加的引号修复了它。非常感谢快速回复。