考虑以下代码:
@Echo off
ECHO Start
ECHO Calling SUB_A
CALL :SUB_A
ECHO Calling SUB_B
CALL :SUB_B
:SUB_A
ECHO In SUB_A
GOTO:EOF
:SUB_B
ECHO In SUB_B
GOTO:EOF
ECHO End
我希望得到这个输出:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
End
但我得到了这个:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
In SUB_A
我在这里做错了什么?
goto :EOF
,我更喜欢这种方法,因为它可以添加一个返回值作为ERRORLEVEL:exit /B %RetVal%
。 - SvenSEOF
标签。GOTO :EOF
可以直接使用。另外请注意,您正在调用:EOF
,而您只能定义EOF
,然后通过GOTO EOF
来调用它。 - Nux