2014-09-26 141 views
0

我在這方面很新穎,但無論如何我嘗試。 如何編寫批處理文件來查找包含特定單詞的文件然後重命名該文件? 我使用findstr,並找到該文件,但是如何從此獲取輸出,並使用輸出重命名文件或這些文件?帶findstr和批量重命名的批處理文件

我希望有人能幫助我。 謝謝 斯特芬

回答

1

原始地,

@ECHO OFF 
SETLOCAL 
SET "sourcedir=u:\sourcedir" 
FOR /f "delims=" %%a IN ('findstr /m /L /c:"find me" "%sourcedir%\*.*"') DO (
ECHO(REN "%%a" "destinationname" 
) 

GOTO :EOF 

你需要改變的sourcedir設置,以滿足您的具體情況。

然而,遊戲是在你沒有告訴我們的 - 如何你想重命名文件,因爲你只能在一個目錄中有任何特定名稱的文件。

+0

脫線喜現在 它的工作.....你有一個「(」到多,我選擇移動的文件,而不是將其重命名 @ECHO OFF SETLOCAL SET「sourcedir = C:\中旬「 FOR/f」delims =「%% a IN('findstr/M/L/I/c:」milwaukee「」%sourcedir%\ *。*「')DO( move」%% a「」c :\ mid \ mid2「) GOTO:EOF – 2014-09-27 17:09:09

+0

啊 - 你的意思是'('in'echo('?嗯,不 - 這實際上不是錯誤,'echo%something'和'echo %something%'。如果'something'是空的,第一個將顯示'echo'狀態(ON或OFF),但第二個會默默地顯示,好吧,沒有任何東西......好的移動到呃,移動文件。重命名可以是一個體操nightm是。 – Magoo 2014-09-27 17:29:52