(注:%0就是該batch文件的文件名 )
這句的意思是
更改當(dāng)前目錄為批處理本身的目錄
有些暈吧?不急,我舉例
比如你有個批處理a.bat在D:\qq文件夾下
a.bat內(nèi)容為
cd /d %~dp0
在這里
cd /d %~dp0的意思就是cd /d d:\qq
%0代表批處理本身 d:\qq\a.bat
~dp是變量擴(kuò)充
d既是擴(kuò)充到分區(qū)號 d:
p就是擴(kuò)充到路徑 \qq
dp就是擴(kuò)充到分區(qū)號路徑 d:\qq
擴(kuò)充變量語法詳解:
:: 選項(xiàng)語法:
:: ~I - 刪除任何引號("),擴(kuò)充 %I
:: %~fI - 將 %I 擴(kuò)充到一個完全合格的路徑名
:: %~dI - 僅將 %I 擴(kuò)充到一個驅(qū)動器號
:: %~pI - 僅將 %I 擴(kuò)充到一個路徑
:: %~nI - 僅將 %I 擴(kuò)充到一個文件名
:: %~xI - 僅將 %I 擴(kuò)充到一個文件擴(kuò)展名
:: %~sI - 擴(kuò)充的路徑只含有短名
:: %~aI - 將 %I 擴(kuò)充到文件的文件屬性
:: %~tI - 將 %I 擴(kuò)充到文件的日期/時間
:: %~zI - 將 %I 擴(kuò)充到文件的大小
:: %~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
:: 到找到的第一個完全合格的名稱。如果環(huán)境變量名
:: 未被定義,或者沒有找到文件,此組合鍵會擴(kuò)充到
:: 空字符串
:: 可以組合修飾符來得到多重結(jié)果:
:: %~dpI - 僅將 %I 擴(kuò)充到一個驅(qū)動器號和路徑
:: %~nxI - 僅將 %I 擴(kuò)充到一個文件名和擴(kuò)展名
:: %~fsI - 僅將 %I 擴(kuò)充到一個帶有短名的完整路徑名
:: %~dp$PATH:i - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
:: 到找到的第一個驅(qū)動器號和路徑。
:: %~ftzaI - 將 %I 擴(kuò)充到類似輸出線路的 DIR
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/lightyearwp/archive/2008/08/06/2778677.aspx