type
status
date
slug
summary
tags
category
icon
password
题目
有2w份htm文件,文件名杂乱无序,现在需要对文件重新命名,每个文件的新文件名就在该htm文件内部,且具有一定特征,具体如下字符串中的“变量”即为新的文件名:
...abc:变量 xyz...
核心操作
1、重命名
ren “老名字” “新名字”,这个代码(命令)是核心。
=A1&B1&C1&D1&E1&F1&G1&H1&I1,这个excel公式用来组装重命名的代码。
公式执行后就生成了代码,如下J1单元格所示。
如法炮制,将其他行的内容也填充一下。比较难获取的是D、H列的文件名字,这个在后边专门介绍。
拉动J1单元格右下角的“+”,生成所有的代码。
批量改文件的脚本代码就都好了,如下,把它放到文本文件里,文件后缀改为.bat,注意文本文件用ANSI编码。
ren "oldname (1).txt" "newname (1).txt" ren "oldname (2).txt" "newname (2).txt" ren "oldname (3).txt" "newname (3).txt" ren "oldname (4).txt" "newname (4).txt" ren "oldname (5).txt" "newname (5).txt" ren "oldname (6).txt" "newname (6).txt" ren "oldname (7).txt" "newname (7).txt" ren "oldname (8).txt" "newname (8).txt" ren "oldname (9).txt" "newname (9).txt" ren "oldname (10).txt" "newname (10).txt" ren "oldname (11).txt" "newname (11).txt" ren "oldname (12).txt" "newname (12).txt" ren "oldname (13).txt" "newname (13).txt" ren "oldname (14).txt" "newname (14).txt" ren "oldname (15).txt" "newname (15).txt" ren "oldname (16).txt" "newname (16).txt" ren "oldname (17).txt" "newname (17).txt"
windows记事本打开,右下角可以看到文件的编码方式。
若不是ANSI编码,将文件另存,选择ANSI编码即可。
将此bat脚本文件,跟那些待重命名的文件放到一个文件夹里,双击执行脚本即可。
执行re.bat批处理脚本之后,重命名就完成了。
2、“老名字”提取
先对“老名字”重新命名:在文件夹里全选老文件,然后右击第一个文件,重命名为oldname(命名为别的也行,这个随意)。
选中老文件,复制路径,如下:
将复制的路径信息,粘贴到记事本文件中,如下:
Ctrl+M,标记,查找模式“正则表达式”,“.*”表示匹配任意的字符串。“oldname.*txt”即可匹配到这些文件名。
复制标记文本,即可提取到老的文件名。
3、“新名字”提取
核心方法同“老名字”提取。
用notepad++打开所有的htm文件(如果电脑内存有限,一次不要打开大多)。
将搜索到的结果复制到一个新的文本文件中,然后再次标记搜索并复制,即可得到新文件名。
如果新文件名中有重复(可能某htm文件中有两个一样的文件名),那么需要删除重复的内容。如下: