网站首页 > 技术文章 正文
在文件批量更名的过程中,有时会遇到复杂关键字组合的内容颠倒和重新组合需求。比如,图1所示要将被选区域文件名的格式,替换为下方未被选择区域的格式。也就是说,“见证”关键词要由半角中括号替换成全角书名号,日期要提到《见证》之后以便于排序,标题要移动到日期之后。
(图1)
下面我们讲述具体的实现过程。
要实现上述的较为复杂文件名替换,可以用支持以文本文件更名的软件(如拖把更名器等),并结合支持正则表达式替换的编辑器(如EmEditor)。我们就以这两个软件为例来操作。
1. 快速生成文件列表
获得更名文件的列表文本,可以用拖把更名器软件来实现。在文件资源管理器中将需要处理的文件选中之后,拖拽到拖把更名器的编辑窗口中;然后点击工具栏中的“导出当前文件列表”按钮,比如这里我们将导出的文件命名为LS.TXT。
(图2)
2. 构造正则表达式
接下来构造查找与替换正则表达式。用EmEditor软件打开上述生成的LS.TXT列表文件,按下“Ctrl+H”组合键启动“替换”窗口。在“查找”处输入正则表达式“\[见证\](.*)\((.*)\)”,“替换为”处输入正则表达式“《见证》\2 \1”。
(图3)
图中文本为未替换前的状态。
点击“替换全部”按钮,替换后的效果如图所示。
(图4)
解释正则表达式中的各参数:
在启动了“正则表达式”功能之后,其中“[”与“]”符号由于会被EmEdior软件识别为特殊语法符号,因此要查找这两个符号,必须配以“\”符号方可实现。而小括号也是如此,要搜索到小括号,也需要给它们配上“\”符号。对于没有配备“\”符号的小括号,则依照先后顺序,每组均表示一个字段,如第一组小括号中的内容代表字段1、第二组为字段2。小括号内的“.*”则是通配符,代表引用范围内的任意长字段。替换时对字段的引用是用形如“\2”“\1”等格式来完成,顺序可以任意确定和安排。
3. 调用文本批量命名
执行完上述的操作之后,保存LS.TXT文本内容。再次切换到拖把更名器,点击工具栏中的“调用文本文件命名”按钮,将经过编辑的LS.TXT文件调入。最后按下“Ctrl+E”组合键,完成文件按预定需求的批量更名。
(图5)
猜你喜欢
- 2024-12-27 史上最全正则详解 正则的用法
- 2024-12-27 慎用正则表达式 使用正则表达式
- 2024-12-27 Java性能调优--代码篇:优化正则表达式的匹配效率
- 2024-12-27 详细介绍一下Python爬虫中的正则表达式匹配规则?
- 2024-12-27 Word中实例演示:高级查找与高级替换等....
- 2024-12-27 再杂也无惧 在Excel高效提取数字 excel如何提取出数字
- 2024-12-27 Linux下find与exec的联手干大事 linux find -newer
- 2024-12-27 Java中如何使用正则技术提取html中的任意内容
- 2024-12-27 一看就懂 | 30分钟入门正则表达式,看这一篇就够了(值得收藏)
- 2024-12-27 VBA如何找出工作表数据中的数字,简单到不用思考
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)