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

时间:2012-07-26 15:41:18

标签: if-statement batch-file

我在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
)

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

1 个答案:

答案 0 :(得分:3)

您收到此错误是因为vardns可能为空,并且解释程序将此行展开为:

if =="NODNS" (

这是非法语法。

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

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

它应该有用。