1. 程式人生 > >%cd% 和%~dp0%的區別及cd跨盤符切換路徑問題

%cd% 和%~dp0%的區別及cd跨盤符切換路徑問題

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:\aQproject
echo 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跨盤符切換路徑問題