我想走完file
的完整路径并列出最后两个parent directories
例如:
\\publicshare\products\apps\123.456\OSfile
我想在我的批处理脚本中提取123.456
和OSfile
。
答案 0 :(得分:4)
SET MYPATH=\publicshare\products\apps\123.456\OSfile
for %%i in ("%MYPATH%") do SET FIRST=%%~nxi&SET MYPATH=%%~dpi
SET MYPATH=%MYPATH:~0,-1%
for %%i in ("%MYPATH%") do SET SECOND=%%~nxi
echo %FIRST% -- echoes OSFile
echo %SECOND% -- echoes 123.456
第一个FOR语句提取文件名+扩展名(%% ~nxi),然后将MYPATH设置为路径的其余部分(驱动器号+路径)。
“SET MYPATH =%MYPATH:~0,-1%”删除尾随反斜杠。
第二个FOR语句从MYPATH中提取最后一个元素,现在是目录。