如何用批处理重命名文件

下下来的电视剧的文件名太长,想整理一下,要求做个批处理文件,能把[www.xunleigod.com][The+Gem+Of+Life-01][国语DVD-RMVB].rmvb重命名成这种 珠光宝气国语第01集高清晰.rmvb

请高手指点。
感谢3楼的高手做的回复和修改,和4楼新来的,不过问题还是没有解决。

我想让实现的是。 [www.xunleigod.com][The+Gem+Of+Life-01][国语DVD-RMVB].rmvb

把这个文件名中的01提取出来放到新的文件名中。 这样每集就会对应的改名字。 如果是按顺序修改名字,如果集数不按顺序排列的话,重新排的文件名就乱了。

再比如,如果一个文件中的文件名是没有规律的,只有05 08 11 35 45 集, 修改后也要是只有这几集,不能变成从1开始重新排的。

请高手帮忙解答。谢谢!

----------------------------------------

---------------------------------------------------

答案诞生了,就是4楼的麦兜Terran, 由于已经达到修改限制,我把答案贴出来供后来者使用。

@echo off&setlocal enabledelayedexpansion
for %%u in ([www.xunleigod.com][The+Gem+Of+Life-*][国语DVD-RMVB].rmvb) do (
set a=%%u
set b=!a:~36,2!
ren "%%u" "珠光宝气国语第!b!集高清晰.rmvb")

@echo off&setlocal enabledelayedexpansion
set /p b=请输入集数:
for %%u in ([www.xunleigod.com][The+Gem+Of+Life-*][国语DVD-RMVB].rmvb) do (set /a a+=1
set /a c=!a!+!b!
ren "%%u" "珠光宝气国语第!c!集高清晰.rmvb")

如果是50集就输入49 100集就输入99,因为每个数都是+1的!你问题问的不够明确,看看这下问题解决了吧

------------------------------------------------
@echo off
ren "[www.xunleigod.com][The+Gem+Of+Life-*][国语DVD-RMVB].rmvb" "珠光宝气国语第*集高清晰.rmvb"

解决了吧? 记得加分啊
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-16
rename "C:\Documents and Settings\Administrator\桌面\乐音试听.lnk" "酷狗音乐.lnk" 慢慢看就懂了
第2个回答  2009-12-23
可以

复制以下代码保存为a.bat文件,放在你要改名的文件夹里运行
会把这个文件夹里的所有后缀名为.rmvb的文件都以 珠光宝气国语+序号 的形式命名.

@echo off&setlocal EnableDelayedExpansion
set a=1
for /f "delims=" %%i in ('dir /b *.rmvb') do (
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "list0!a!.rmvb") else ren "%%i" "珠光宝气国语!a!.rmvb"
set/a a+=1
)
)
第3个回答  2009-12-24
别搞这么复杂:
@echo off
ren "原文件名" "新文件名"
pause
===========
就这么点可以了
第4个回答  2009-12-29
试一下这个吧。。。有兴趣去批处理贴吧玩哦。。。

@echo off
setlocal enabledelayedexpansion
set /p x=请输入起始集数:
set /a k=%x%
for /f "tokens=*" %%a in ('dir "*.rmvb" /b') do (
set /a k+=1
ren "%%a" "珠光宝气国语第!k!集.rmvb"
)>nul
相似回答