Call
從一個批次程式調用另一個批次程式,並且不終止父批次程式。call 命令接受用作調用目標的標籤。如果在指令碼或批次檔外使用 Call,它將不會在命令列起作用。
文法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
參數
[Drive:}[Path] FileName
指定要調用的批次程式的位置和名稱。filename 參數必須具有 .bat 或 .cmd 副檔名。
BatchParameters
指定批次程式所需的任何命令列資訊,包括命令列選項、檔案名稱、批處理參數(從 %0 到 %9)或變數(例如,%baud%)。
:label
指定批次程式要跳轉到的標籤。使用帶有該參數的 call 命令可以建立新的批次檔上下文,並將控制權交給指定標籤後的語句。當首次遇到該批次檔的末尾時(在跳轉到標籤後),控制權將交還給 CALL 語句後的語句。第二次遇到批次檔的末尾,批指令碼將被退出。對於可允許您從批處理指令碼返回的 goto :eof 命令擴充,要瞭解關於它的說明,請參閱“”。
arguments
對於以 :label 打頭的批次程式,指定要傳送給其新執行個體的命令列資訊,包括命令列選項、檔案名稱、批處理參數(從 %1 到 %9)或者變數(比如 %baud%)。
/?
在命令提示字元顯示協助。
注釋
使用批處理參數
批處理參數可以含有傳送給批次程式的任何資訊,包括命令列選項、檔案名稱、批處理參數(從 %1 到 %9)或者變數(例如,%baud%)。有關批處理參數的詳細資料,請參閱“”。
使用管道和重新導向符號
不要在 call 命令中使用管道和重新導向符號。
發出遞迴調用
可以建立調用自身的批次程式,但是,必須提供允出準則。否則,父和子批次程式可以無限迴圈。
使用命令擴充
如果啟用命令擴充(即預設情況下),call 將接受 label 參數作為調用目標。正確文法如下:
call :label arguments
有關啟用和禁用命令擴充的詳細資料,請參閱“”中的 cmd。
範例
要從其他批次程式運行 Checknew.bat 程式,請在父批次程式中鍵入以下命令:
call checknew
如果父批次程式接受兩個批處理參數並且希望它將這些參數傳遞給 Checknew.bat,則可以在父批次程式中使用以下命令:
call checknew %1 %2
XOX