2014-02-20 71 views
0

我想格式化批量的路徑,比如這個:批次抽取子

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=! 

我怎樣才能獲得我想要的路徑?

感謝

回答

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% 

這將檢索direcotry路徑。

Mona。