APP下载

轻松提取文件名中的关键词

2016-12-16马震安

电脑爱好者 2016年20期

马震安

将大量长文件名中的不同类别关键词分别提取出来,存入Excel表格中,我们应该如何巧妙实现呢?

例如公司组织下属单位进行论文大赛,收到相当数量的电子版论文。论文主要就经典文学作品人物进行论述,文件标题包含了作品人物、作品名称、论文标题等三大部分,如图1左侧。根据要求,需要将这些电子版论文的文件名、所选人物、作品名称等录入到Excel工作表中。如果手动录入的话,工作量可想而知的繁重。用VBA代码吗?固然能够实现,但恐怕对于普通办公人员不大容易实现。那么有没有什么更好的办法解决?其实,只需要借助一个一行代码的bat文件就能轻松搞定了。

生成bat文件

在存放若干论文的文件夹中右击建立一个文本文件,打开它,将“for /r d:\论文 %%a in (*.doc) do echo %%~na >>生成文件.xls”这行命令输入到文本文件中,保存并关闭文件。接下来,设置显示文件扩展名,右击这个文本文件,选择“重命名”,将它的扩展名“txt”更改为“bat”,回车后就会提示是否更改扩展名,选择“是”。这时文件的图标如果发生了变化,这就意味着这个文本文件变成批处理文件了。双击这个批处理文件,就会生成一个Excel文件。打开这个Excel文件,就会看到每个Word文档的文件名被录入到工作表中了(图1)。

标题巧分离

初始目录生成之后,还需要从这些个目录中分离出人物、作品及论文标题。选定数据列,点击“数据”选项卡下的“分列”,在弹出的窗口中选择“分隔符号”,点击“下一步”,在窗口中勾选“其他”,输入分隔符(本例中输入下划线“_”),点击“完成”,就实现了数据的分离。

添加链接

为了更进一步操作,可在文件目录中的标题和文件夹中的相应文件之间建立链接,当点击目录标题时就会打开相应的Word文件。首先为数据记录添加表头(即列标题);选定论文标题这列,利用替换的方法删除每个单元格最后的空格(即在替换内容处输入一个空格,替换为处什么也不要输入);接下来,在链接列的相应单元格输入“=HYPERLINK(A2&"_ "&B2&"_"&C2&".doc",A2&"_"&B2&"_"&C2&".doc")”,并向下拖动填充。这样,标题就和文件之间建立起了链接。最后,将这个Excel另存为扩展名为xls的文件就可以了(图2)。

以上仅以文学作品文件名为例,其他大家日常遇到的多字段长文件名的分离提取,均可以采用上述方法。