批处理文件重命名与一个数字与拟合00前缀

问题描述:

因此,我有很多的MP3文件我的Windows 10电脑上,我想重新命名为适合的零前缀EG重命名为“mysong1.mp3”到“mysong001.mp3”这批文件我发现,直到10日的文件精品工程:批处理文件重命名与一个数字与拟合00前缀

@echo off 
setlocal EnableDelayedExpansion 
set i=0 
for %%a in (*.mp3) do (
    set /a i+=1 
    ren "%%a" "mysong00!i!.new" 
) 
ren *.new *.mp3 

9号文件,我得到“mysong0010.mp3”,“mysong0011.mp3”等后和第99个文件“mysong00100.mp3”。我想要的是“mysong010.mp3”,“mysong100.mp3”等。我已经对批处理文件中的if语句和类似内容做了一些研究,但是我无法完全理解它。

所以我的问题是:我如何使它像我想要的那样工作?

我不想使用某种第三方程序,我希望能够自己做到这一点。

只需稍作更改即可。

@echo off 
setlocal EnableDelayedExpansion 
set i=0 
for %%a in (*.mp3) do (
    set /a i+=1 
    set num=00!i! 
    ren "%%a" "mysong!num:~-3!.new" 
) 
ren *.new *.mp3 
+0

我接受答案似乎太快了。我究竟在哪里放数字?它现在所做的是将它找到的第一个文件重命名为“mysong.mp3”,然后无数次地返回“重复文件存在或文件无法找到”。我把“set num = 00!i!”在增加我之后并且替换我与您的发布。 – Arrrow

+0

@Arrrow,更新您的原始代码。 – Squashman

+0

这正是我所拥有的。仍然给我同样的错误。 – Arrrow