中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 07:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批量重命名后的一个疑问? 查看 984 回复 5
楼 主 批量重命名后的一个疑问? 发表于 2007-11-03 12:51 ·  中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
--------------------
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...

请教下各位有什么办法可以实现这个目的?
2 发表于 2007-11-03 12:55 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
似乎已经有讨论的,搜索吧

[ Last edited by abcd on 2007-11-4 at 05:57 PM ]
3 发表于 2007-11-03 14:15 ·  中国 江西 吉安 遂川县 电信
中级用户
★★
积分 253
发帖 112
注册 2006-05-31 11:12
20年会员
UID 56308
性别 男
状态 离线
感谢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
........
4 发表于 2007-11-03 14:42 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
set n=000!num!&set n=!n:~-3!
echo !n!

[ Last edited by junchen2 on 2007-11-3 at 02:43 PM ]
5 ^_^ 发表于 2007-11-03 15:44 ·  中国 广东 惠州 联通
初级用户
★★
积分 126
发帖 53
注册 2007-02-04 19:21
19年会员
UID 78631
性别 男
来自 -
状态 离线
@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
6 发表于 2007-11-04 16:49 ·  中国 北京 网联光通
新手上路
积分 11
发帖 6
注册 2007-11-04 15:23
18年会员
UID 101668
性别 男
状态 离线
学习了啊,不错。谢谢
论坛跳转: