1. 程式人生 > >DOS批處理中%cd%和%~dp0的異同分析

DOS批處理中%cd%和%~dp0的異同分析

在DOS的批處理中,有時候需要知道當前的路徑。在DOS中,有兩個環境變數可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。 

這兩個變數的用法和代表的內容是不同的。 

1. %cd% 可以用在批處理檔案中,也可以用在命令列中;展開後,是驅動器碟符:+當前目錄,如在dos視窗中進入c:\dir目錄下面, 

輸入:echo %cd% ,則顯示為:c:\dir 。 
%cd%的內容是可以被改變的,其內容為命令的執行路徑或批處理檔案的執行路徑。 

2.%~dp0只可以用在批處理檔案中,它是由它所在的批處理檔案的目錄位置決定的,是批處理檔案所在的碟符:+路徑。在執行這個批處理檔案的過程中,它展開後的內容是不可以改變的。比如在D盤下有個批處理檔案,path.bat,其內容為: 

複製程式碼程式碼如下:
@echo off 
echo this is %%cd%% %cd% 
echo this is %%~dp0 %~dp0 



在C:\ 和E:\分別下執行它,輸出為: