可以在批處理文件內的任何地方使用批處理參數
以提取有關環境設置的信息
Cmd
exe 提供批處理參數擴展變量(%
到 %
)
當在批處理文件中使用批處理參數時
%
將由批處理文件名替換
而 %
到 %
將由在命令行鍵入的相應參數替換
要訪問大於 %
的參數
必須使用 shift 命令
有關 Shift 命令的詳細信息
請參閱 Shift
%* 批處理參數是所有參數(不包括 %
)可引用的通配符
這些參數傳遞到批處理文件中
例如
要將 Folder
中的內容復制到 Folder
其中 %
和 %
將分別由值 Folder
和 Folder
替換
請在批處理文件 Mybatch
bat 中鍵入如下內容
xcopy %
\*
* %
要運行該文件
請鍵入
mybatch
bat C:\folder
D:\folder
這與在批處理文件中鍵入如下內容是等效的
xcopy C:\folder
\*
* D:\folder
也可以在批處理參數中使用編輯符
編輯符使用當前的驅動器和目錄信息將批處理參數擴展為部分或完整的文件或目錄名
要使用編輯符
請鍵入百分號 (%) 字符
後面是波形符號 (~) 字符
然後鍵入合適的編輯符(即 %~modifier)
下表列出了可在擴展中使用的編輯符
編輯符 說明
%~
擴展 %
並刪除任何引號 (
)
%~f
將 %
擴展到完全合格的路徑名
%~d
將 %
擴展到驅動器盤符
%~p
將 %
擴展到路徑
%~n
將 %
擴展到文件名
%~x
將 %
擴展到文件擴展名
%~s
擴展的路徑僅包含短名稱
%~a
將 %
擴展到文件屬性
%~t
將 %
擴展到文件日期/時間
%~z
將 %
擴展到文件大小
%~$PATH:
搜索 PATH 環境變量中列出的目錄
並將 %
擴展到第一個找到的目錄的完全合格名稱
如果沒有定義環境變量名稱
或沒有找到文件
則此編輯符擴展成空字符串
下表列出了可用於獲取復雜結果的編輯符和限定符的可能組合情況
編輯符 說明
%~dp
將 %
擴展到驅動器盤符和路徑
%~nx
將 %
擴展到文件名和擴展名
%~dp$PATH:
在 PATH 環境變量列出的目錄中搜索 %
並擴展到第一個找到的目錄的驅動器盤符和路徑
%~ftza
將 %
擴展到類似 dir 的輸出行
注意
在上面的例子中
可以使用其它批處理參數替換 %
和 PATH
%* 編輯符是唯一可代表在批處理文件中傳遞的所有參數的編輯符
不能將該編輯符與 %~ 編輯符組合使用
%~ 語法必須通過有效的參數值來終止
不能以與使用環境變量相同的方式使用批處理參數
不能搜索或替換值
或檢查子字符串
然而
可以將參數分配給環境變量
然後使用該環境變量
From:http://tw.wingwit.com/Article/program/qrs/201405/31033.html