在DOS的批處理中,有時候需要知道當前的路徑。在DOS中,有兩個環境變量可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。
這兩個變量的用法和代表的內容一般是不同的。
1. %cd% 可以用在批處理文件中,也可以用在命令行中;展開后,是驅動器盤符:+當前目錄,如:
在 c:/dir 下,
- echo %cd%
echo %cd%
顯示為,
- c:/dir
c:/dir
%cd%的時間內容是可以被改變的,比如CD命令就可以改變它的內容。
2. %~dp0 只可以用在批處理文件中,它是由它所在的批處理文件的目錄位置決定的,是批處理文件所在的盤符:+路徑。在執行這個批處理文件的過程中,它展開后的內容是不可以改變的。
比如在D盤下有個批處理文件,dirshow.bat:
- @echo off
- echo this is %%cd%% %cd%
- echo this is %%~dp0 %~dp0
@echo off echo this is %%cd%% %cd% echo this is %%~dp0 %~dp0
在C:/ 下執行它,輸出為:
- C:/>D:/dirshow.bat
- this is %cd% C:/
- this is %~dp0 D:/