1.代碼如下
@echo off pushd %1 & for %%i in (.) do set curr=%%~ni echo %curr% pause
2.選項語法
~I - 刪除任何引號("),擴充 %I %~fI - 將 %I 擴充到一個完全合格的路徑名 %~dI - 僅將 %I 擴充到一個驅動器號 %~pI - 僅將 %I 擴充到一個路徑 %~nI - 僅將 %I 擴充到一個文件名 %~xI - 僅將 %I 擴充到一個文件擴展名 %~sI - 擴充的路徑只含有短名 %~aI - 將 %I 擴充到文件的文件屬性 %~tI - 將 %I 擴充到文件的日期/時間 %~zI - 將 %I 擴充到文件的大小 %~$PATH:I - 查找列在路徑環境變量的目錄,並將 %I 擴充 到找到的第一個完全合格的名稱。如果環境變量名 未被定義,或者沒有找到文件,此組合鍵會擴充到 空字符串
3.組合修飾符
%~dpI - 僅將 %I 擴充到一個驅動器號和路徑 %~nxI - 僅將 %I 擴充到一個文件名和擴展名 %~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名 %~dp$PATH:i - 查找列在路徑環境變量的目錄,並將 %I 擴充 到找到的第一個驅動器號和路徑。 %~ftzaI - 將 %I 擴充到類似輸出線路的 DIR
4.獲取當前目錄的絕對路徑: 目錄中有空格也可以加入""避免找不到路徑
echo 當前盤符:%~d0 -- C echo 當前盤符和路徑:%~dp0 -- C:\Working\docs\ echo 當前批處理全路徑:%~f0 -- C:\Working\docs\aaa.bat echo 當前盤符和路徑的短文件名格式:%~sdp0 -- C:\Working\docs\ echo 當前CMD默認目錄:%cd% -- C:\Working\docs echo 當前盤符:"%~d0" echo 當前盤符和路徑:"%~dp0" echo 當前批處理全路徑:"%~f0" echo 當前盤符和路徑的短文件名格式:"%~sdp0" echo 當前CMD默認目錄:"%cd%"