使用带有 00 前缀的数字重命名批处理文件
Batch file renaming with a number with fitting 00 prefix
所以我的 windows 10 计算机上有很多 mp3 文件,我想用合适的零前缀重命名这些文件 EG 将 "mysong1.mp3" 重命名为 "mysong001.mp3" 这个我发现有效的批处理文件很好,直到第 10 个文件:
@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
所以我的 windows 10 计算机上有很多 mp3 文件,我想用合适的零前缀重命名这些文件 EG 将 "mysong1.mp3" 重命名为 "mysong001.mp3" 这个我发现有效的批处理文件很好,直到第 10 个文件:
@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