批处理文件循环在if语句之后结束

时间:2012-07-05 15:24:45

标签: batch-file

我正在尝试创建一个批处理文件,该文件根据变量在循环中运行其他批处理文件,但是在第一个批处理文件执行后,“主”批处理文件也会结束。 我错过了什么?

:loop
if %variable% == 5 (bat1.bat) else (bat2.bat) 
goto loop

1 个答案:

答案 0 :(得分:1)

这是因为您正在将控制转移到另一个批处理文件,这意味着它永远不会回到“主”文件。

您需要像这样使用call

:loop
if %variable% == 5 (call bat1.bat) else (call bat2.bat) 
goto loop

在它调用的文件完成后,它会将控制权返回给主批处理文件,这样它就可以继续循环。

希望这有帮助