(注: %0 就是該 batch 檔案的檔名)
這句的意思是
更改當前目錄為批處理本身的目錄
有些暈吧?不急,我舉例
比如你有個批處理 a.bat 在 d:/qq 資料夾下
a.bat 內容為
cd /d %~dp0
在這裡
cd /d %~dp0 的意思就是
cd /d d:/qq
%0 代表批處理本身
d 既是擴充到分割槽號
d: p 就是擴充到路徑
dp 就是擴充到分割槽號路徑 d:/qq
擴充變數語法詳解:
:: 選項語法
: :: ~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
dos批處理中 dp0 的說明
dp0 d 為drive的縮寫,即為驅動器,磁碟 p 為path縮寫,即為路徑,目錄 cd是轉到這個目錄,使用 d 開關,除了改變驅動器的當前目錄之外,還可改變當前驅動器。選項語法 0 刪除任何引號 擴充 0 f0 將 0 擴充到乙個完全合格的路徑名 f 是file,即檔案 d0 僅將 0 擴充到乙...
DOS批處理中 cd 和 dp0的異同
在dos的批處理中,有時候需要知道當前的路徑。在dos中,有兩個環境變數可以跟當前路徑有關,乙個是 cd 乙個是 dp0。這兩個變數的用法和代表的內容是不同的。1.cd 可以用在批處理檔案中,也可以用在命令列中 展開後,是驅動器碟符 當前目錄,如在dos視窗中進入c dir目錄下面,輸入 echo ...
DOS批處理中 cd 和 dp0的區別
dos批處理中 cd 和 dp0的區別 在dos的批處理中,有時候需要知道當前的路徑。在dos中,有兩個環境變數可以跟當前路徑有關,乙個是 cd 乙個是 dp0。這兩個變數的用法和代表的內容是不同的。1.cd 可以用在批處理檔案中,也可以用在命令列中 展開後,是驅動器碟符 當前目錄,如在 dos視窗...