Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 批处理脚本if语句-意外(_If Statement_Batch File - Fatal编程技术网

If statement 批处理脚本if语句-意外(

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

我已经在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 address name="%__ethAdapter.42%" source=dhcp
)

我不确定问题出在哪里,并且已经阅读了许多其他帖子。如有任何帮助,将不胜感激。请提前感谢。

您收到此错误,因为
vardns
可能是空的,解释器将此行展开至:

if =="NODNS" (
这是非法的语法

建议您做的是正确的--在
%vardns%
周围添加引号,如下所示:

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

它应该可以工作。

在我看来还行,还有吗?-您需要更正:
如果%vardns%==NODNS(
即,没有引号,但我不会认为这是导致错误的原因检查
%vardns%
的值是否没有特殊字符。在失败的命令之前放置ECHO,然后运行脚本。然后,在变量展开后,您将能够看到该命令的外观,希望它将成为mo很明显,问题出在哪里。如果你想不出来,请发布扩展版。添加的引号修复了它。非常感谢快速回复。