我有一個批處理文件,其中有幾個命令如下;從批處理文件返回控制
XCOPY
DEL
RMDIR
anotherBatch.bat
XCOPY
DEL
RMDIR
正如你所看到的,在兩者之間還有另一個批處理文件(anotherBatch.bat),做一些其他處理的呼叫。
現在我的問題是在另一個批處理被執行之後,控件永遠不會返回到原來的批處理文件,它只是在那裏結束。
如何確保控件返回?
我有一個批處理文件,其中有幾個命令如下;從批處理文件返回控制
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