阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机

成批巧补丢失的文件序号

2015-2-11 12:44| 发布者: z199298| 查看: 265| 评论: 0

摘要: 本文讲述如何用编辑软件的特殊替换命令,构造文件成批自动更名指令组,从而实现为批量丢失序号的文件名添加对应序号的方法。 小丽从网上下载了一部系列纪录片《故宫100》。但是,从一个BT种子自动下载到的这100个视 ...

本文讲述如何用编辑软件的特殊替换命令,构造文件成批自动更名指令组,从而实现为批量丢失序号的文件名添加对应序号的方法。

小丽从网上下载了一部系列纪录片《故宫100》。但是,从一个BT种子自动下载到的这100个视频文件,名称只用了各集标题名,文件名中没有序号(图1)。这样,在播放时还得先搞清楚第1集是哪个文件,接下来第2集又该是哪个文件……如此一来就无法通过播放器的自动连续播放功能实现连续播放。她虽然也从网上搜索到了带有剧集顺序序号的100个视频的顺序列表(图2),但是,要给磁盘中的这100个文件一一对应加上序号,不是轻而易举的事情。手工一一更名显然是太笨的办法,可行但不可取。用更名工具软件似乎也无法办到。小丽希望我帮她找到一个更快的办法。

1218-asw-巧补序号1

1218-asw-巧补序号2

从目前已有资料的情况来看,已从网上找到的剧集列表文件TXT中显然既包含有文件名,又包含有剧集的序号,以此为基础一定能够找到给磁盘中的文件加上序号的办法。但该怎么做才能实现呢?

我的想法是从已有信息中提取和重组关键字,构造一个能实现自动更名的命令,并用文字编辑软件EmEditor对命令进行成批处理,最后形成一个自动判断和重命名的批处理程序,依此来解决问题。

命令构造思路

假如下载到的视频文件,其中的一个文件的文件名为“天地之间.RMVB”,而顺序列表TXT文件中涉及该文件的一行记录为“01集:天地之间(紫禁城)(1月1日首播)”,这时,我只要想方设法构造如下命令:

REN 天地之间.RMVB 01集:天地之间(紫禁城).RMVB

然后,依此类推快速构造出其余99条命令,即可实现对100集文件的自动更名(图3)。

1218-asw-巧补序号3

要实现成批快速构建命令,需要利用EmEditor的列选择技巧和成批内容消除、成批内容添加等技巧相结合来完成。

成批消除多余内容

从网上获得的剧集名列表中每条记录靠后的括号内标示的首播日期,如“(1月1日首播)”,这显然不是我们需要的内容,我们需要将其统统删除。

我们通过灵活使用EmEditor的特殊替换命令来完成成批删除任务。具体思路是将行尾之前括号及其中的内容统统替换为空串。难点在于这个串的长度不固定,该如何构造呢?

用快捷组合键Ctrl-H,进入EmEditor查找替换窗口,在“查找”文本框中输入“)(.*$”,在“替换为”文本框中输入“)”,同时保证窗口中的“使用正则表达式”处于被选中状态,“仅在选定范围内”处于未被选中状态,然后点击“全部替换”按钮完成替换(图4)。

1218-asw-巧补序号4

参数说明:查找框中的参数“.*”代表查找从此开始的任意长度的字串,$代表查找到行尾为止。

成批添加相同文件名

在我们设想的REN命令行中,前段要出现一次不带序号的文件名。但网上得到的剧集列表TXT文本中的每一行记录都只给出一次带序号的剧集名,如何在它们的前面统一快速加上同名但不带序号的文件名呢?

我们用EmEditor的列选择和列复制技巧来实现。

具体方法是,在EmEditor中打开剧集TXT文本列表,在按下键盘Alt键的同时,用鼠标选择只含有文件名的列块(图5),选好之后执行复制命令。然后再新开一个文本文件,将刚才复制的内容粘贴进来。然后用全文查找“\n”并替换为“.RMVB\n”的办法给这个得来的文件列表添加扩展名RMVB。

1218-asw-巧补序号5

返回到剧集列表文件中,用同样的列块选择的方法选择列表中的所有内容,不管文件长短,统统选择。然后执行复制命令。

返回到新建的文本文件,将光标置于第一行的末端并按几次空格,执行粘贴命令,将刚才复制的列块追加到已有列表的右侧(图6)。

1218-asw-巧补序号6

成批添加RMVB扩展名

在复制过来的不带序号的文件名后,文件名不带扩展名。但是,要实现自动更名,必须在命令中包含完整的文件扩展名,这样更名后得到的文件才能正常被播放器自动识别。那么如何成批添加命令尾部的RMVB扩展名?

我们同样用EmEditor的特殊替换技巧来实现。只需要将每行末尾的回车换行符号替换为.RMVB加回车换行,扩展名就自动添加上去了。

具体操作是,进入EmEditor查找替换窗口,在“查找”文本框中输入半角符号组“\n”,在“替换为”文本框中输入“.RMVB\n”字符串,然后点击“全部替换”按钮完成替换(图7)。

1218-asw-巧补序号7

成批添加REN命令

还需要在每条命令的前面都加上一个REN命令关键词,同时,还需要在后面紧接着加一个半角空格,才算完成一条完整的命令的构造。

我们依然用EmEditor的特殊替换命令来实现,不过,这次添加的是最前面的内容。

我们只需将列表各行末尾的回车换行符号成批替换成回车加REN再加一个半角空格,即可实现这一目的。

进入EmEditor查找替换窗口,在“查找”文本框中输入半角符号“\n”,在“替换为”文本框中输入“\nREN ”(注意后面有一个半角空格),然后点击“全部替换”按钮完成替换(图8)。

1218-asw-巧补序号8

执行成批序号添加

经过如上操作,就完成了成批命令的构造。接下来,我们需要将此新建TXT列表文件存盘,然后在资源管理器中将该文件的扩展名改为BAT(需要先从“文件夹选项”中去掉文件的扩展名隐含属性)。

文件更名后,执行得到的BAT扩展名的批处理文件,就可以得到带有序号的剧集了(图9)。

1218-asw-巧补序号9

此后,只要将第1集文件添加到视频播放器(如QQ影音、迅雷看看等)中播放,播放器就会根据文件序号自动识别出其余各集,并自动添加到播放列表中,按先后顺序自动连续播放各集内容。

小提示:以上构造的批处理文件要和所有剧集文件处于同一个文件夹中。

          本技巧转自电脑爱好者~更多实用小技巧关注星梦社区哦!

最新评论

返回顶部