从批处理文件返回控制
问题描述:
我有一个批处理文件,其中有几个命令如下;从批处理文件返回控制
XCOPY
DEL
RMDIR
anotherBatch.bat
XCOPY
DEL
RMDIR
正如你所看到的,在两者之间还有另一个批处理文件(anotherBatch.bat),做一些其他处理的呼叫。
现在我的问题是在另一个批处理被执行之后,控件永远不会返回到原来的批处理文件,它只是在那里结束。
如何确保控件返回?
答
一个批次子程序是通过CALL命令调用另一个批处理文件:
CALL subroutineName Param1 Param2
子程序可以被放置在同一个文件调用代码。这是通过其名称与结肠癌前述指示:
CALL :SubroutineInThisFile Param1 Param2
. . . .
. . . .
. . . .
EXIT /B
:SubroutineInThisFile
. . .
EXIT /B
:AnotherSubroutine
. . .
EXIT /B
的EXIT/B命令(不只是EXIT)被用来标记在同一个文件子例程结束;这也必须为主程序完成。
如果在您的示例中调用另一个没有CALL命令的批处理文件,则最终结果与“GOTO到另一个文件”类似:当被调用的文件结束时,该过程在该点结束。我过去称为“叠加”(而不是“子程序”)称为这种方式的批处理文件。
答
你应该明确地调用其他批处理文件
call anotherBatch.bat
+1很好解释 – 2011-12-16 11:38:32