Étant donné le code suivant:Subroutines dans des fichiers batch
@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
J'attends cette sortie:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
End
Mais je reçois ceci:
Start
Calling SUB_A
In SUB_A
Calling SUB_B
In SUB_B
In SUB_A
Qu'est-ce que je fais mal ici?
Je trouve cela préférable de 'goto: EOF' que vous pouvez ajouter une valeur de retour comme ERRORLEVEL:' sortie/B% RetVal% ' – SvenS
Une note - vous ne devriez pas définir' EOF' label. 'GOTO: EOF' fonctionne hors de la boîte. Notez également que vous appelez ': EOF' et vous ne pouvez définir' EOF' qui serait appelé par 'GOTO EOF'. – Nux