当使用CALL命令在批处理脚本中调用标签时,你用GOTO:eof结束子程序,从那里发生了什么?它是否返回到子程序的CALL所在的位置?还是在调用脚本的位置后继续?
例如:
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*
GOTO之后:eof哪一行会在下一个回响?
答案 0 :(得分:10)
为什么不运行它并亲眼看看?我将你的脚本保存到一个名为foo.bat的批处理文件中,然后我改变了你的妈妈去大学,在前面有一个echo
。
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>
因此很容易看到OMGSUB
被调用后,
CALL :OMGSUB
之后的右边的行并回显“跑掉”行答案 1 :(得分:0)
goto:eof结束批处理文件中的“OMGSUB脚本”。所以
*runs away and cries like a little girl*
接下来会回应。