如果声明不工作批次

时间:2015-09-30 13:06:31

标签: windows batch-file cmd

所以我有这样的批处理文件:

if "%1" == "dev" (
   rem do something ...
)
else (
   rem do something else ...
)

我在echo

之上有if-else命令
echo "%1" >> test.txt

运行后test.txt的内容为"dev"(带双引号)。 但是,它始终会触及else块而不是if块。我通过在echo

中添加另一个else ()命令来检查它

2 个答案:

答案 0 :(得分:2)

这个问题非常简单!只需移动else (一行:

if "%1" == "dev" (
   rem do something ...
) else (
   rem do something else ...
)

现在应该可以了。

答案 1 :(得分:1)

else必须位于)(

的同一行

IF /?向您展示了这种用法:

if exist filename (
    del filename 
) else (
    echo filename not found
)

或者在一行中:

if exist filename ( del filename ) else ( echo filename not found )

或2行

if exist filename ( del filename 
) else ( echo filename not found )

2行变化

if exist filename ( del filename ) else ( 
echo filename not found )
等等......