尝试循环运行批处理文件时出现语法错误

尝试循环运行批处理文件时出现语法错误

我想循环运行这 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
)

相关内容