2014-02-10 75 views
0

再次,我與批處理文件掙扎窗口,再次我希望你能再次幫助我。我不明白它的東西;)窗口 - 批處理文件字符串操作

我現在有下面的代碼,打印的基本目錄的名稱時,該目錄包含「R1」在其名稱:

FOR /d %%d in (directory\*R1*) do (
SET x=%%d && echo %x%) 

我現在將目錄名稱設置爲字符串,並設置爲'x'。我想在\上分割這個字符串並獲得最後一個項目。然後我想在最後一項中用'R2'替換'R1'。任何人都可以爲我工作的功能?我迷路了。

謝謝。

+0

你可能想看看這裏:http://stackoverflow.com/questions/14620709/how-to-split-string-without-for-loop-in-batch-file – QuickNull

回答

0
@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
FOR /d /R %%d in (.\*R1*) do (
SET "x=%%~nxd" 
SET "x=!x:R1=R2!" 
IF /i not "!x!"=="%%~nxd" ECHO old : "%%d" new : "%%~dpd!x!" 
) 

GOTO :EOF 

這應該做你想做的。該/R交換機上的FOR手段「和子目錄,太」,我改變了你directory.我的測試。

既然你不出現說要與弦做什麼,我只是回顯到新舊版本。

if語句將只過濾掉那些在目錄樹的最後一個「葉」中有R1的地方。