批处理文件重命名与一个数字与拟合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
我接受答案似乎太快了。我究竟在哪里放数字?它现在所做的是将它找到的第一个文件重命名为“mysong.mp3”,然后无数次地返回“重复文件存在或文件无法找到”。我把“set num = 00!i!”在增加我之后并且替换我与您的发布。 – Arrrow
@Arrrow,更新您的原始代码。 – Squashman
这正是我所拥有的。仍然给我同样的错误。 – Arrrow