批處理:PUSHD和CD的區別

pushd %~dp0 : 把批處理所在的路徑設爲當前路徑
cd /d "%~dp00PE_0606_for_ud" : 改變當前路徑到 批處理所在路徑下的dp00PE_0606_for_ud
cd /d "%~dp0" : 改變當前路徑到 批處理所在路徑
首先 %0 是指批處理文件本身
%~dp0 是對%0的擴展,d是drive,也就是盤符,p是路徑,所以%~dp0是指批處理所在的路徑(包括盤符)
pushd是設定工作目錄
所以 PUSHD %~dp0 就是設定批處理所在的目錄爲工作目錄
"%~dp00PE_0606_for_ud"也就是批處理所在目錄下0PE_0606_for_ud目錄
當cd的目標路徑包括盤符,需要加/d<BR>cd /d "%~dp0"
cd /d "%~dp00PE_0606_for_ud"
這兩個就不用在解釋了把
PUSHD臨時指定當前路徑.
一般和POPD配套使用.(回到上一個PUSHD前的路徑)
也可以用於SETLOCAL語句中防止運行目錄被改變.
例子
CD /D C:\WINDOWS
echo.當前目錄是%cd%
PUSHD %~dp0
echo.當前目錄是%CD%
popd 
echo.當前目錄是%cd%
call :test
echo.調用一個批處理標籤後當前目錄是%cd%
pause>
:test
setlocal
pushd e:\
echo.當前目錄是%cd%
goto :eof
通過以上的例子就可以發現PUSHD和CD的區別.

發佈了34 篇原創文章 · 獲贊 32 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章