批量提取子字符串

时间:2014-02-20 09:45:34

标签: batch-file

我想批量格式化路径,例如:

C:\key\aa\bb\cc\key\rem.txt

我想获得:

C:\key\aa\bb\cc\key

我试过了:

1. set path=C:\key\aa\bb\cc\key\rem.txt
2. set KEY=key
3. FOR /f "delims=" %%a in ("*\*\!KEY!") do SET delete=!path:%%a=!
4. FOR /f "delims=" %%a in ("\!KEY!!delete!") do SET pts=!path:%%a=!

如果我让**!KEY就行不通!在第3行。 C:\之前的关键是我的问题,如果我没有这个词,那么这是有效的:

1. set path=C:\**dd**\aa\bb\cc\key\rem.txt
2. set KEY=key
3. FOR /f "delims=" %%a in ("*!KEY!") do SET delete=!path:%%a=!
4. FOR /f "delims=" %%a in ("\!KEY!!delete!") do SET pts=!path:%%a=!

如何获得我想要的路径?

由于

1 个答案:

答案 0 :(得分:2)

你不会这么做:

set "target=C:\key\aa\bb\cc\key\rem.txt"
set "format="
for /f "delims=" %%a in ("%target%") do (set format="%%~dpa")
Echo %format%

这将检索目录路径。

莫纳。