2012-06-27 249 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