標題:
[分享]
BAT批次指令: CALL 的功能介紹
[打印本頁]
作者:
a448488
時間:
2013-8-16 10:08
標題:
BAT批次指令: CALL 的功能介紹
BAT批次指令: CALL 的功能介紹
CALL :從批次程式中呼叫另一程式。
指令詳解:
CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批次程式所需要的命令列資訊。
如果您啟用擴充命令,CALL 命令的變更如下:
CALL 命令現在可以用標籤來當作 CALL 命令的目標。語法為:
CALL :label arguments
這會用指定的 arguments 來建立一個新的批次檔檔案內容,而且控制權會被傳到指定的 label 後的敘述。
您必須 "exit" 兩次,因為批次檔的結尾會被執行兩次。
第一次您讀入批次檔結尾時,控制權會回到 CALL描述的下一個敘述。
而第二次則會結束批次檔的執行。
請鍵入 GOTO /?
來獲得 GOTO :EOF 擴充命令的描述。
這個命令可以讓您從批次檔中"return" 。
此外,批次檔參數的參考 (%0, %1,及其他) 已經做了如下的擴充:
%* 在批次檔中,這代表所有的參數 (e.g. %1 %2 %3 %4 %5 ...)
批次參數的取代 (%n) 已經做了改進。
您現在可以選用下列的語法:
%~1 - 展開 %1 且移除包圍的引號 (")
%~f1 - 展開 %1 為一個完全符合的路徑名稱
%~d1 - 只展開 %1 為磁碟機代號
%~p1 - 只展開 %1 為路徑
%~n1 - 只展開 %1 為檔名
%~x1 - 只展開 %1 為副檔名
%~s1 - 展開的路徑只包含短檔名
%~a1 - 展開 %1 為檔案的檔案屬性
%~t1 - 展開 %1 為檔案的日期/時間
%~z1 - 展開 %1 為檔案的長度
%~$PATH:1 - 搜尋所有列在 PATH 環境變數內的目錄且展開 %1 為第一個找到的完全符合檔名。
如果沒有定義環境變數名稱或是搜尋找不到檔案,則這個修飾元會展開成空字串。
修正程式可合併使用,進而得到複合結果:
%~dp1 - 只擴充 %1 到磁碟機代號和路徑
%~nx1 - 只擴充 %1 到檔案名稱和副檔名
%~dp$PATH:1 - 搜尋 %1 的 PATH 環境變數中所列的目錄,並擴充至磁碟機代號和第一個找到的路徑。
%~ftza1 - 將 %1 擴充成 DIR ,和輸出行相同
在上例中,%1 和 PATH 可被其他有效值取代。%~ 語法是以正確的引數數字作結尾。
%~ 修正程式可能無法使用 %*
作者:
ML089
時間:
2013-8-16 12:25
如能有範例會更好
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)