bat 获取当前目录名
代码
:: 获取当前目录名
set curf=%~p0%
set curf=%curf:~0,-1%
:getfolder
FOR /F "tokens=1,* delims=\/" %%i in ("%curf%") do (
if not "%%j"=="" (
set curf=%%j
goto getfolder
)
)
echo Current folder: %curf%
原理
%~p0
将 %0
扩展到一个路径
%curf:~0,-1%
取 %curf%
的第1个到倒数第2个字符,也就是去掉 curf
的最后一个字符。
最后以路径分隔符作为分割,一直取到最后一个字符串分组为止。