0

我想沿着完整的路径走到 afile并列出最后两个parent directories

例如:

\\publicshare\products\apps\123.456\OSfile

我想提取123.456OSfile在我的批处理脚本中。

4

1 回答 1

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 中提取最后一个元素,现在是目录。

于 2013-07-01T11:52:16.017 回答