我遇到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=i+1
start /b cmd /c QQ.bat
if "%i%"=="4" exit
goto loop
pause
控制台的输出"系统找不到指定的批处理标签-exit",并随机执行severl QQ.exe并且金额不正确,而我的例外结果就是那里将同时执行8个QQ.exe。
答案 0 :(得分:0)
控制台显示错误,因为 GOTO 语句正在尝试跳转到不存在的标签。
通过在脚本中使用goto exit可以理解,您希望脚本在此时退出。为此用途:
GOTO:EOF
代替goto exit
。
答案 1 :(得分:0)
这应该执行您的代码正在执行的操作:QQ.exe
已启动8
次 - 但您的代码正在重复使用%i%
变量,因此您可能不需要8次。
@echo off
for /L %%a in (1,1,8) do start "" /d "c:\Users\mytool\QQ\Bin" "QQ.exe"
答案 2 :(得分:0)
您已正确定义标签,但错误地解释了goto语法。使用"转到:退出"代替。您可以通过使用" /?"执行批处理命令来获得有关批处理命令的帮助在命令行中(例如" goto /?")