标题: 批量重命名后的一个疑问?
[打印本页]
作者: junyee
时间: 2007-11-3 12:51
标题: 批量重命名后的一个疑问?
--------------------
D:\下有许多mp3文件
如 a.mp3 b.mp3 c.mp3 d.mp3 e.mp3 ......
想批量重命名它们,在原文件名前加上序号
-----------------------------------------------------------
@echo off
setlocal ENABLEDELAYEDEXPANSION
SET num=0
FOR /F %%i IN ('dir /b *.mp3') DO (
SET /A num+=1
REN %%i !num!!%%i
)
pause
------------------------------------------------------------
在坛里找了个类似的代码稍加改动,运行后还算成功。
可生成的文件名为 1a.mp3 2b.mp3 ... 10j.mp3 ..100av.mp3...
我想让它成为 001a.mp3 002b.mp3...010.mp3 ...100av.mp3...
请教下各位有什么办法可以实现这个目的?
作者: abcd
时间: 2007-11-3 12:55
似乎已经有讨论的,搜索吧
[
Last edited by abcd on 2007-11-4 at 05:57 PM ]
作者: junyee
时间: 2007-11-3 14:15
感谢abcd兄的帮助。
测试了下,有问题。
如果我的D:\下有10个mp3文件。对应的运行批处理后生成的文件名前会加上10个字符,如果有9个mp3,多出9个数字符,8个mp3,多出8个数字符.
能不能稍加改善啊?
我把set num=00000000!num!改成set num=00!num!
似乎可以.
可当mp3文件个数少于3时,生成的文件名又会成为1a.mp3 或01.mp3
........
作者: junchen2
时间: 2007-11-3 14:42
set n=000!num!&set n=!n:~-3!
echo !n!
[
Last edited by junchen2 on 2007-11-3 at 02:43 PM ]
作者: guo882633
时间: 2007-11-3 15:44
标题: ^_^
@echo off
del e.txt >nul
dir /b *.mp3 >e.txt
set j=
set /p=请输入编号:
::输入编号时要注意.要输入你想要的最前面那个编号的前一个数字
for /f %%i in (e.txt) do set ot=%%i && set /a j+=1 &&call :k
:k
ren %ot% %j%-%ot%
echo %j%-%ot% >已做好的歌名.txt
作者: qinwang
时间: 2007-11-4 16:49
学习了啊,不错。谢谢