%cd% 和%~dp0%的區別及cd跨盤符切換路徑問題
阿新 • • 發佈:2019-01-06
color users 腳本 pau 路徑問題 要去 通過 技術 span
在DOS中,有兩個環境變量可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。
(1)%cd%的內容是可以被改變的,其內容為命令的執行路徑或批處理文件的執行路徑。
(2)%~dp0只可以用在批處理文件中,它是由它所在的批處理文件的目錄位置決定的,
是批處理文件所在的盤符:+路徑. 在C:\Users\xx\Desktop\tmp目錄下有腳本cdTest.bat@echo off echo this is %%cd%% %cd% echo this is %%~dp0 %~dp0 echo switch to another folder: cd /d D:\aQprojectecho this is %%cd%% %cd% echo this is %%~dp0 %~dp0 pause
在tmp目錄中執行cdTest.bat腳本結果如下
在d盤執行cdTest.bat腳本結果如下
可以看到執行腳本的路徑不一樣,%cd%不一樣;腳本中通過cd /d切換到別的路徑,得到的環境變量%cd%的值也不一樣。
PS:上面實例中用的是cd /d能夠直接跨盤符切換,腳本在c盤切換到d盤中。直接cd +別的盤符路徑是不能切換的,要通過先輸入d:(盤符)切換到所要去盤符,cd +路徑實現切換。可以看出cd /d直接切換更方便,在批處理文件找那個很方便。
%cd% 和%~dp0%的區別及cd跨盤符切換路徑問題