選項語法:
~0 - 刪除任何引號("),擴充 %0
%~f0 - 將 %0 擴充到乙個完全合格的路徑名(「f」是file,即檔案)
%~d0 - 僅將 %0 擴充到乙個驅動器號
%~p0 - 僅將 %0 擴充到乙個路徑
%~n0 - 僅將 %0 擴充到乙個檔名(「n」是name 檔名)
%~x0 - 僅將 %0 擴充到乙個副檔名
%~s0 - 擴充的路徑只含有短名(「s」為short,短的)
%~a0 - 將 %0 擴充到檔案的檔案屬性(「a」為attribute,即屬性)
%~t0 - 將 %0 擴充到檔案的日期/時間(「t」time)
%~z0 - 將 %0 擴充到檔案的大小(size 大小)
%~$path:0 - 查詢列在路徑環境變數的目錄,並將 %0 擴充
到找到的第乙個完全合格的名稱。如果環境變數名
未被定義,或者沒有找到檔案,此組合鍵會擴充到
空字串
可以組合修定符來取得多重結果:
%~dp1 - 只將 %1 擴充套件到驅動器號和路徑
%~nx1 - 只將 %1 擴充套件到檔名和副檔名
%~dp$path:1 - 在列在 path 環境變數中的目錄裡查詢 %1,
並擴充套件到找到的第乙個檔案的驅動器號和路徑。
%~ftza1 - 將 %1 擴充套件到類似 dir 的輸出行。
使用示例:
建立乙個bat檔案(expand_path.bat),內容:
@echo "%~1"
@echo "%~f1"
@echo "%~d1"
@echo "%~p1"
@echo "%~n1"
@echo "%~x1"
@echo "%~s1"
@echo "%~a1"
@echo "%~dps1%~nx1"
pause
然後使用命令
expand_path "c:\program files\internet explorer\iexporter.exe"
得出:"c:\program files\internet explorer\iexporter.exe"
"c:\program files\internet explorer\iexporter.exe"
"c:"
"\program files\internet explorer\"
"iexporter"
".exe"
"c:\progra~1\intern~1\iexporter.exe"
"""c:\progra~1\intern~1\iexporter.exe"
可以簡單地使用這些組合來批出自己想要的一些路徑。
另外乙個例子:
----------------dobind.bat------------------------------
:將當前資料夾下的所有xsd檔案轉換為c++**檔案
@for /r "%cd%" %%i in (*.xsd) do @echo "%%i" && @xmlbind "%%i" "%cd%"
--------------bindxml.bat------------------
::將引數1指定的xsd檔案轉換為c++**檔案
:進入引數檔案所在的路徑
cd "%~dps1"
%~d1
:"%~dps1%~nx1" --output-dir "%~dps1" %temp%\
:拷貝到temp後進行處理,原因是xsd不支援中文路徑
copy "%1" "%temp%"
:取引數檔名的檔名,呼叫xsd來轉換
xsd cxx-tree --generate-serialization --hxx-suffix .h --ixx-suffix .inl --cxx-suffix .cpp --generate-ostream --
generate-doxygen --generate-comparison --generate-default-ctor "%temp\%~nx1"
:copy "%temp%%~n1.h" %cd%
:copy "%temp%%~n1.cpp" %cd%
批處理引數 n 的替代
選項語法 0 刪除任何引號 擴充 0 f0 將 0 擴充到乙個完全合格的路徑名 f 是file,即檔案 d0 僅將 0 擴充到乙個驅動器號 p0 僅將 0 擴充到乙個路徑 n0 僅將 0 擴充到乙個檔名 n 是name 檔名 x0 僅將 0 擴充到乙個副檔名 s0 擴充的路徑只含有短名 s 為sho...
批處理引數 n 的替代
選項語法 0 刪除任何引號 擴充 0 f0 將 0 擴充到乙個完全合格的路徑名 f 是file,即檔案 d0 僅將 0 擴充到乙個驅動器號 p0 僅將 0 擴充到乙個路徑 n0 僅將 0 擴充到乙個檔名 n 是name 檔名 x0 僅將 0 擴充到乙個副檔名 s0 擴充的路徑只含有短名 s 為sho...
批處理choice的替代
choice.exe是乙個dos外部命令,用途是讓使用者輸入字元進行選擇,提供給批處理程式一定的互動能力。但是2000以後的windows已經沒有帶有這個命令了,這下要讓使用者選擇的時候該怎麼辦呢?我先是尋找2000下的choice.exe,微軟出的resource kit是帶有這個工具的,可是找了...