2012-06-27 296 views
3

我們有一個名爲像這樣的目錄中的幾千文件:批處理文件重命名文件

EXP_10000021.XM_ 

,需要刪除前導1,因此新的文件名是:

EXP_0000021.XM_ 

我對批處理文件不太好 - 任何幫助將不勝感激!

+0

每個文件都包含'1'? – mrd

+0

你特別想要一個windows(DOS)批處理文件或unix嗎? –

回答

7

如果您的文件名以EXP_1開頭,那很容易。

setlocal EnableDelayedExpansion 
for %%A in (EXP_1*.XM_) do (
    set "filename=%%A" 
    set "newName=EXP_!filename:~5!" 

    rem ** remove the ECHO when it seems to work 
    ECHO ren !filename! !newName! 
) 
+0

將您的代碼複製到測試文件夾中,然後將一堆名爲EXP_10000021.XM_的文件添加到EXP_10000028.XM_中。單擊.bat文件並且什麼也沒有發生。 – Brian

+0

您是否在'ren'前面刪除了'ECHO'? – jeb

+0

不 - 告訴你我不擅長批處理文件!非常感謝它!我的經理希望我手動重命名數百個文件 - 真棒! – Brian