When using the CALL command to call a label in a batch script, and you end the sub-routine with GOTO:eof, what happens from there? Does it return back to where the sub-routine's CALL is located? Or does it continue on after the location of the call script?
For example:
ECHO It's for my college fund.
CALL :OMGSUB
ECHO *runs away and cries like a little girl*
:OMGSUB
ECHO Your mom goes to college.
GOTO:eof
ECHO *picks up jewelry box*
After GOTO:eof which line will it echo next?
Why not just run it and see for yourself? I saved your script to a batch file called foo.bat, and I changed the Your mom goes to college.
to have an echo
in front.
C:\temp>foo
C:\temp>ECHO It's for my college fund.
It's for my college fund.
C:\temp>CALL :OMGSUB
C:\temp>echo Your mom goes to college.
Your mom goes to college.
C:\temp>GOTO:eof
C:\temp>ECHO *runs away and cries like a little girl*
*runs away and cries like a little girl*
C:\temp>echo Your mom goes to college.
Your mom goes to college.
C:\temp>GOTO:eof
C:\temp>
So it's easy to see that after the OMGSUB
is called, it
CALL :OMGSUB
and echos the "runs away" lineecho *picks up jewewlry box*
never gets reached.