我想循环运行这 3 个 .bat 文件。尝试了这两个代码,但都出现了语法无效错误
@echo off
:loop
start "c:\1.bat" && "c:\2.bat" && "c:\3.bat" &&
GOTO :loop
和
@echo off
for /l %%x in (1, 1, 9999) do (
start "c:\1.bat" && "c:\2.bat" && "c:\3.bat" &&
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
)
答案1
我认为太多了&&
,应该在 之前使用空格:EOF
。
&&
就我个人而言,为了将来的维护和可读性,我会避免使用。
如果希望 1.bat、2.bat 和 3.bat 一直显示在屏幕上,请使用/K
下面所示的命令。否则,请使用/C
以便 1.bat、2.bat 和 3.bat 可以在运行后退出。
我不确定它的用途%loopCount%
——除了循环退出保护之外——但一定要在使用它之前初始化该变量(良好的编码实践)。
以下是一个例子:
@echo off
set /a maxLoop=5
set /a loopCount=%maxLoop%
for /l %%x in (1, 1, %maxLoop%) do (
start %COMSPEC% /K c:\1.bat
start %COMSPEC% /K c:\2.bat
start %COMSPEC% /K c:\3.bat
set /a loopCount=%loopCount%-1
if "%loopCount%"=="0" GOTO :EOF
)