show tocshow toc
A JS exception occurred. msg:unterminated string literal url:http://technet2.microsoft.com/WindowsServer/zh-CHT/Library/97731e49-ffa3-4918-87fb-5318743f29321028.mspx lno:34
頁面選項
適於列印的版本
以電子郵件傳送本頁面
評價
Using batch parameters
更新:2005 年 一月 月 21 日
Using batch parameters
您可以在批次檔案中的任何地方使用批次參數,以抽取出關於環境設定的資訊。
Cmd.exe 提供從 %0 到 %9 的批次參數擴充變數。當您在批次檔案中使用批次參數時,%0 由批次檔案名稱取代,%1 到 %9 由您在命令列中輸入的相應引數取代。若要存取超過 %9 的引數,則必須使用 shift 命令。如需 shift 命令的相關資訊,請參閱 Shift。%* 批次參數為參照到所有引數 (不包含 %0) 的萬用字元,它可以傳遞到批次檔案。
例如,若要將內容從 Folder1 複製到 Folder2,其中 %1 由值 Folder1 所取代,%2 由值 Folder2 所取代,請在名為 Mybatch.bat 的批次檔案中輸入下列內容:
xcopy %1\*.* %2
若要執行檔案,請輸入:
mybatch.bat C:\folder1 D:\folder2
這與在批次檔案中輸入下列內容會產生相同的效果:
xcopy C:\folder1 \*.* D:\folder2
您也可以對批次參數使用修正元。修正元使用目前磁碟機及目錄資訊,以展開批次參數為部份或完整的檔案、目錄名稱。若要使用修正元,請輸入百分號 (%) 字元,其後接代字號 (~) 字元,然後輸入適當的修正元 (即 %~modifier)。
下列表格列示了可以在擴充中使用的修正元。
修飾元 描述
%~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
在 PATH 環境變數所列的目錄中搜尋 %1,並將其擴充為第一個找到的磁碟機代號和路徑。
%~ftza1
將 %1 擴充與 dir 類似的輸出行。
附註
‧
在前一個範例中,您可以使用其他批次參數值取代 %1 及 PATH。
%* 修正元代表在批次檔案中全部引數的唯一修正元。您不能將此修正元與 %~ 修正元組合使用。%~ 語法必須以有效的引數值作結尾。
您不能以與操作環境變數相同的方式操作批次參數。您不能搜尋並取代值或檢查子字串。不過,您可以將參數指派給環境變數,然後再操作該環境變數。
