最近在讀別人程序的時候,碰到了批處理文件的一些問題,在此記錄一下。
在DOS的批處理中,有時候需要知道當前的路徑。在DOS中,有兩個環境變量可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。
這兩個變量的用法和代表的內容一般是不同的。
1. %cd% 可以用在批處理文件中,也可以用在命令行中;展開後,是驅動器盤符:+當前目錄,如:
在 c:\dir 下,
- echo %cd%
顯示爲,
- c:\dir
%cd%的時間內容是可以被改變的,比如CD命令就可以改變它的內容。
2. %~dp0 只可以用在批處理文件中,它是由它所在的批處理文件的目錄位置決定的,是批處理文件所在的盤符:+路徑。在執行這個批處理文件的過程中,它展開後的內容是不可以改變的。
比如在D盤下有個批處理文件,dirshow.bat:
- @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:\