Windows下批處理文件(BAT)的參數之編輯符
批處理參數擴展變量(%0 到 %9)。當在批處理文件中使用批處理參數時,%0 將由批處理文件名替換,而 %1 到 %9 將由在命令行鍵入的相應參數替換。
可以在批處理參數中使用編輯符。編輯符使用當前的驅動器和目錄信息將批處理參數擴展為部分或完整的文件或目錄名。要使用編輯符,請鍵入百分號 (%) 字符,後面是波形符號 (~) 字符,然後鍵入合適的編輯符(即 %~modifier)。
下表列出了可在擴展中使用的編輯符。
編輯符 說明
%~ %~1 擴展 %1 並刪除任何引號 (""
%~f %~f1 將 %1 擴展到完全合格的路徑名
%~d %~d1 將 %1 擴展到驅動器盤符
%~p %~p1 將 %1 擴展到路徑
%~n %~n1 將 %1 擴展到文件名
%~x %~x1 將 %1 擴展到文件擴展名
%~s %~s1 擴展的路徑僅包含短名稱
%~a %~a1 將 %1 擴展到文件屬性
%~t %~t1 將 %1 擴展到文件日期/時間
%~z %~z1 將 %1 擴展到文件大小
%~$PATH: %~$PATH:1 搜索 PATH 環境變量中列出的目錄,並將 %1 擴展到第一個找到的目錄的完全合格名稱。如果沒有定義環境變量名稱,或沒有找到文件,則此編輯符擴展成空字符串
下表列出了可用於獲取復雜結果的編輯符和限定符的可能組合情況:
編輯符 說明
%~dp0 將 %0 擴展到驅動器盤符+路徑+文件名+擴展名
%~nx1 將 %1 擴展到文件名和擴展名
%~dp$PATH:1 在 PATH 環境變量列出的目錄中搜索 %1,並擴展到第一個找到的目錄的驅動器盤符和路徑
%~dpn0 將%0擴展到驅動器盤符+路徑+文件名
%~ftza1 將 %1 擴展到類似 dir 的輸出行
注意:
在上面的例子中,可以使用其它批處理參數替換 %1 和 PATH。
%* 編輯符是唯一可代表在批處理文件中傳遞的所有參數的編輯符。不能將該編輯符與 %~ 編輯符組合使用。%~ 語法必須通過有效的參數值來終止。
不能以與使用環境變量相同的方式使用批處理參數。不能搜索或替換值,或檢查子字符串。然而,可以將參數分配給環境變量,然後使用該環境變量。