以下的脚本,获取指定级别的路径名。
@echo off
set file=c:\ab c\def\gh .exe
set file=%file:\=" "%
call :Get 3 "%file%"
pause
goto :eof
:Get
for /l %%i in (1,1,%1) do shift
echo %~1
goto :eof
下面的代码,直接获取文件名:
@echo off
set file=c:\abc\efg\xxx.xxx
call :Print "%file%"
pause
goto :eof
set demo=%~nx1
echo %demo%
goto :eof
获取当前路径:
set currdir=%cd%
要获得批处理所在的路径和文件名,只要使用%0变量即可,%0代表批处理文件本身
要获取文件的路径可以使用: %~dp1,例如:
set file="C:\a\b\c.txt"
call :Print "%file%
goto :eof
echo %~dp1
goto :eof