批處理指令擷取目前盤符和目前目錄
%~d0 是目前盤符
%cd% 是目前目錄
可以用echo %cd%進行列印測試
以下例子是指令行編譯Visual Studio編寫的程式:
@echo off
set b=%cd% //将目前目錄儲存到參數b中,等号前後不要有空格
C:
cd program files
cd microsoft visual studio
cd common
cd msdev98
cd bin
msdev "%b%\test.dsp" /MAKE "test- Win32 Release" /REBUILD //(VC6.0)
devenv "%b%\Tool Utility\Tool Utility.sln" /REBUILD //(VS2010)
pause
注意:如果路徑中包含空格,則應該将路徑加檔案名用雙引号括起來。
出處:http://blog.csdn.net/ylmmee/article/details/6735907
===============================================================
廢話不多說,直接看例子:
@echo off
echo 目前盤符:%~d0
echo 目前盤符和路徑:%~dp0
echo 目前盤符和路徑的短檔案名格式:%~sdp0
echo 目前批處理全路徑:%~f0
echo 目前CMD預設目錄:%cd%
pause
http://www.2cto.com/kf/201104/88450.html
===============================================================
通過批處理取目前目錄的上一級目錄
@echo off
if %cd%==%cd:~,3% echo 目前目錄已經是%cd:~,1%盤的根目錄!&goto end
cd..
set "bd=%cd%"
cd..
set "bbd=%cd%"
if "%bbd%"=="%bd%" (echo 上一級目錄是: %cd:~,1%盤的根目錄!
) else call echo 上一級目錄是: "%%bd:%bbd%\=%%"
:end
pause