den folgenden Code Gegeben:Subroutinen in Batch-Dateien
@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
Ich erwarte, dass diese Ausgabe:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
End
Aber ich bekomme diese:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
In SUB_A
Was mache ich falsch hier?
Das finde ich besser, 'goto: EOF', wie Sie einen Rückgabewert als Error-hinzufügen:' exit/B% RetVal% ' – SvenS
Ein Hinweis - Sie sollten nicht definieren' EOF-Label. 'GOTO: EOF' funktioniert out of the box. Beachten Sie auch, dass Sie ': EOF' aufrufen und nur' EOF' definieren können, das von 'GOTO EOF' aufgerufen würde. – Nux