windows批处理文件系统找不到指定的批处理标签,请退出
DOS批处理文件和标签有问题。我不断地发现这个错误: 同一文件夹中有两个批处理文件(QQ.bat和Calling.bat) QQ.bat的代码:windows批处理文件系统找不到指定的批处理标签,请退出,windows,batch-file,cmd,Windows,Batch File,Cmd,DOS批处理文件和标签有问题。我不断地发现这个错误: 同一文件夹中有两个批处理文件(QQ.bat和Calling.bat) QQ.bat的代码: @echo off set /a i=0 :loop set /a i=i+1 echo %i% c: cd \Users cd mytool cd QQ cd Bin QQ.exe if "%i%"=="2" goto exit goto loop Calling.bat的代码: @echo off set/a i=0 :loop set/a i
@echo off
set /a i=0
:loop
set /a i=i+1
echo %i%
c:
cd \Users
cd mytool
cd QQ
cd Bin
QQ.exe
if "%i%"=="2" goto exit
goto loop
Calling.bat的代码:
@echo off
set/a i=0
:loop
set/a i=i+1
start /b cmd /c QQ.bat
if "%i%"=="4" exit
goto loop
pause
控制台输出“系统找不到指定的批次标签-退出”,随机执行severl QQ.exe,数量不正确,而我的预期结果是同时执行8个QQ.exe 控制台显示错误,因为GOTO语句试图跳转到不存在的标签 通过在脚本中使用goto exit,我可以理解,您希望脚本在该点退出。为此目的:
GOTO:EOF
而不是GOTO exit
这应该做你的代码正在做的事情:QQ.exe
被启动8次-但是你的代码正在重用%i%
变量,所以你可能不需要它8次
@echo off
for /L %%a in (1,1,8) do start "" /d "c:\Users\mytool\QQ\Bin" "QQ.exe"
您正确定义了标签,但错误地解释了goto语法。改为使用“转到:退出”。通过在命令行中使用“/”执行批处理命令(如“goto/?”)可以找到有关批处理命令的帮助。非常感谢。我按照您的建议修复了代码。错误已丢失。