中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 08:31
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 批量重命名后的一个疑问?
可打印版本  985 / 5
第1楼 junyee 发表于 2007-11-03 12:51
中级用户 发帖 112 积分 253
批量重命名后的一个疑问?
--------------------
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楼 abcd 发表于 2007-11-03 12:55
银牌会员 发帖 739 积分 1,436
似乎已经有讨论的,搜索吧

[ Last edited by abcd on 2007-11-4 at 05:57 PM ]
第3楼 junyee 发表于 2007-11-03 14:15
中级用户 发帖 112 积分 253
感谢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楼 junchen2 发表于 2007-11-03 14:42
高级用户 发帖 219 积分 537 来自 杭州--半山
set n=000!num!&set n=!n:~-3!
echo !n!

[ Last edited by junchen2 on 2007-11-3 at 02:43 PM ]
第5楼 guo882633 发表于 2007-11-03 15:44
初级用户 发帖 53 积分 126 来自 -
^_^
@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楼 qinwang 发表于 2007-11-04 16:49
新手上路 发帖 6 积分 11
学习了啊,不错。谢谢
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023