天天看點

擴充字元串

擴充”這個詞彙來自于微軟自己的翻譯,意思就是對表示檔案路徑的字元串進行特殊的處理,具體功能羅列如下:

=========================================
     ~I         - 删除任何引号("),擴充 %I
     %~fI        - 将 %I 擴充到一個完全合格的路徑名
     %~dI        - 僅将 %I 擴充到一個驅動器号
     %~pI        - 僅将 %I 擴充到一個路徑
     %~nI        - 僅将 %I 擴充到一個檔案名
     %~xI        - 僅将 %I 擴充到一個檔案擴充名
     %~sI        - 擴充的路徑隻含有短名
     %~aI        - 将 %I 擴充到檔案的檔案屬性
     %~tI        - 将 %I 擴充到檔案的日期/時間
     %~zI        - 将 %I 擴充到檔案的大小
     %~$PATH:I   - 查找列在路徑環境變量的目錄,并将 %I 擴充      

                   到找到的第一個完全合格的名稱。如果環境變量名

                   未被定義,或者沒有找到檔案,此組合鍵會擴充到

                   空字元串

可以組合修飾符來得到多重結果:

%~dpI       - 僅将 %I 擴充到一個驅動器号和路徑
     %~nxI       - 僅将 %I 擴充到一個檔案名和擴充名
     %~fsI       - 僅将 %I 擴充到一個帶有短名的完整路徑名
     %~dp$PATH:i - 查找列在路徑環境變量的目錄,并将 %I 擴充
                   到找到的第一個驅動器号和路徑。 
     %~ftzaI     - 将 %I 擴充到類似輸出線路的 DIR
=========================================      
=========================================
@echo off
echo 正在運作的這個批處理:
echo 完全路徑:%0
echo 去掉引号:%~0
echo 所在分區:%~d0
echo 所處路徑:%~p0
echo 檔案名:%~n0
echo 擴充名:%~x0
echo 檔案屬性:%~a0
echo 修改時間:%~t0
echo 檔案大小:%~z0
pause
=========================================      
===============================================
@echo off
set aa=C:\Windows\PPP\a.btx
call :deal aaa %aa% "c c" ddd eee
pause>nul
exit

:deal
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%3 = %3
echo %%4 = %4
echo %%5 = %5
===============================================