找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 76132|回复: 18

[文件操作] [已解决]批处理如何高效重命名复杂的电视剧文件?答案2楼

[复制链接]
发表于 2011-12-19 21:10:49 | 显示全部楼层 |阅读模式
下载了一部83年的电视剧《射雕英雄传》,包含了三部,都在一个文件夹里:

第一部分:
[FK影视出品]射雕英雄传之东邪西毒.1983.EP01.双语字幕.DVDRIP.mkv
……
[FK影视出品]射雕英雄传之东邪西毒.1983.EP20.双语字幕.DVDRIP.mkv
第二部分:
[FK

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-12-19 21:33:58 | 显示全部楼层

  1. @echo off
  2. for /f "delims=" %%a in ('dir/b [FK影视出品]*.mkv') do (
  3.   for /f "tokens=2,5 delims=之.P" %%i in ("%%a") do ren "%%a" "%%i%%j.mkv"
  4. )
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-12-19 21:49:10 | 显示全部楼层
回复 2# weichenxiehou


    这个能把一个文件夹中三个不同名字的电视剧文件都改过来吗?
发表于 2011-12-19 21:53:20 | 显示全部楼层
回复 3# hacker85
原理上是可以,因为没有你的测试环境,所以不能测试,建议你先做好备份,再进行测试。
 楼主| 发表于 2011-12-19 22:03:01 | 显示全部楼层
我不太懂tokens=2,5 delims=之.P是什么意思?

这里的2,5代表得是第二个和第五个?那么是什么呢?

delims=之.P  这意思是用这三个字符来分隔,还是别的?

我的批水平还不是很高

你的代码是成功的
 楼主| 发表于 2011-12-19 22:03:39 | 显示全部楼层
我不太懂tokens=2,5 delims=之.P是什么意思?

这里的2,5代表得是第二个和第五个?那么是什么呢?

delims=之.P  这意思是用这三个字符来分隔,还是别的?

我的批水平还不是很高

你的代码是成功的
发表于 2011-12-19 22:07:34 | 显示全部楼层
回复 6# hacker85
你用“之.P”这三个字符把每个文件名分成N列,会发现你要的东西就固定是第2和5列。
 楼主| 发表于 2011-12-19 22:16:41 | 显示全部楼层
回复 7# weichenxiehou


    如何能看到“之.P”所分割后的结果?

我想这三个字符应该是把整个名字分割成了4部分吧:一 之 二 . 三 P 四
发表于 2011-12-19 22:37:24 | 显示全部楼层
回复 8# hacker85
详情请参阅论坛加精高亮贴--namejm“批处理从入门到精通”,这些都是很基础的东西。
发表于 2011-12-19 23:00:35 | 显示全部楼层
如果lz能把目录的文件名字列出来的话,我们能写出更准确更高效的代码。

评分

参与人数 1PB +3 收起 理由
CrLf + 3 乐于助人

查看全部评分

 楼主| 发表于 2011-12-20 11:43:24 | 显示全部楼层
回复 10# qq2501


    我在发帖的时候已经把整个文件名的情况都描述在一楼了,但是我今天再来看的时候,貌似被管理员给重新编辑了,所以你看到的只是有一个红色字体的

文件名,其实另外两个的情况只是红色字体的部分内容不一样,但都是四个字,你知道的。呵呵
 楼主| 发表于 2011-12-20 12:51:30 | 显示全部楼层
回复 9# weichenxiehou


    我看了那篇教程,于是对用“之.P”所分割后的结果进行了单独的显示:

H:\vedio>锘緻echo off
'锘緻echo' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

H:\vedio>for /F "tokens=2,5 delims=涔?P" %i in (test.txt) do echo %i %j

H:\vedio>echo 01.双语字幕.DVDRI         
01.双语字幕.DVDRI

H:\vedio>pause
请按任意键继续. . .

================为什么上方的内容是那个样子,还有乱码不说,还把代码也显示出来了??=======================

我的代码是:
@echo off
for /f "tokens=2,5 delims=之.P" %%i in (test.txt) do echo %%i %%j
pause

test.txt文件的内容是:
[FK影视出品]射雕英雄传之东邪西毒.1983.EP01.双语字幕.DVDRIP.mkv
发表于 2011-12-29 19:26:46 | 显示全部楼层
回复 12# hacker85


用记事本打开你的bat文件,文件,另存为,选择ANSI编码。

评分

参与人数 1PB +3 收起 理由
CrLf + 3 乐于助人

查看全部评分

 楼主| 发表于 2011-12-29 21:41:52 | 显示全部楼层
回复 13# awk


    请问对于“[66影视www.66ys.cn]超能英雄第三季01中英字幕1024x576版.rmvb”这样的文件,如果我用下面的代码想改成

“英雄第三季01.rmvb”的话,为什么不可以呢?
代码:

@echo off
for /f %%i in ('dir /b [66*.rmvb') do (
        for /f "tokens=2 delims=英,中" %%a in (%%i) do ren "%%i" "英%%a.rmvb"
)

注:我觉得应该是我的ren语句中的那个"英"用得不对,请指教,在线等。
发表于 2011-12-29 23:04:26 | 显示全部楼层
回复 14# hacker85
  1. @echo off
  2. for /f %%i in ('dir /b [66*.rmvb') do (
  3.     for /f "tokens=2 delims=英,中" %%a in ("%%i") do (
  4.         ren "%%i" "英%%a.rmvb"
  5.     )
  6. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:16 , Processed in 0.022456 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表