經常在批處理裏看見%~dp0,似乎不好理解。
其實是%0,然後用~放在%和0之間,加些定義字段進行擴展。
echo %0
echo %~0
這個做成一個bat文件,執行
E:\temp>echo "E:\temp\shenxu.bat"
"E:\temp\shenxu.bat"
E:\temp>echo E:\temp\shenxu.bat
E:\temp\shenxu.bat
%~0 就是刪除雙引號“
%~f0 顯示完整的目錄文件
E:\temp\shenxu.bat
%~d0 顯示驅動號
E:
%~p0 顯示路徑
\temp\
%~n0 顯示文件名,不包括擴展名
shenxu
%~x0 顯示擴展名
bat
%~s0 顯示縮短的名字,當文件名8位的時候,沒變化,大於8位就會顯示前6位,然後加上~和1以及擴展名,最後全都給你變成大寫的。
SHEN12~1.BAT
%~a0 顯示屬性,一般都是--a----
%~t0 顯示文件的時間和日期
echo 2015/08/11 15:49
%~z0 顯示文件的大小
然後,它們是可以組合運用的。
%~dp0 顯示驅動號好路徑
%~nx0 顯示文件名和擴展名,其實就是全名
有時候看見了%~dp1,其實就是對%1的擴充,類推就行了。