notepad--批量重命名正则表达式示例:常用模式

notepad--批量重命名正则表达式示例:常用模式

【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 【免费下载链接】notepad-- 项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

一、功能概述

notepad--提供批量文件重命名功能,支持通过前缀/后缀添加删除、大小写转换等方式批量处理文件名。当前版本(基于源码分析)暂未实现正则表达式(Regular Expression)直接支持,但可通过字符串匹配模式实现类似效果。以下是基于现有功能的常用重命名模式及替代实现方案。

二、批量重命名基础操作

2.1 功能入口

通过菜单栏「工具」→「批量重命名」打开操作窗口,支持两种模式:

  • 文件名称修改(添加/删除前缀后缀、大小写转换)
  • 文件扩展名修改(批量更改文件类型)

2.2 核心参数设置

参数项功能说明
目标目录选择需批量处理的文件夹
包含子目录勾选后递归处理所有子文件夹文件
操作类型单选按钮切换不同重命名模式
进度窗口显示处理进度及失败文件信息

三、常用重命名模式及实现

3.1 前缀添加模式

场景:为所有日志文件添加日期前缀
操作

  1. 选择「添加前缀」单选按钮
  2. 输入框填写前缀文本(如202309_
  3. 选择目标目录并勾选文件类型过滤

代码逻辑示例

// 核心实现原理(源自renamewin.cpp)
QString getNewName(QString oldName, int type, const QString& addOrDelFix) {
    QFileInfo fi(oldName);
    // 类型0为添加前缀
    return QString("%1/%2.%3").arg(dir.absolutePath())
           .arg(addOrDelFix + fi.baseName())  // 前缀+原文件名
           .arg(fi.suffix());                 // 保留原扩展名
}

效果
error.log202309_error.log
access.log202309_access.log

3.2 后缀删除模式

场景:移除文件名中的临时标记(如_tmp
操作

  1. 选择「删除后缀」单选按钮
  2. 输入框填写待删除后缀文本(如_tmp

实现逻辑

// 当baseName以指定字符串结尾时截取
if (fi.baseName().endsWith(addOrDelFix)) {
    return QString("%1/%2.%3").arg(dir.absolutePath())
           .arg(fi.baseName().mid(0, fi.baseName().length() - addOrDelFix.length()))
           .arg(fi.suffix());
}

效果
report_tmp.pdfreport.pdf
data_tmp.csvdata.csv

3.3 大小写转换

场景:统一配置文件名为小写
操作

  1. 选择「转为小写」单选按钮
  2. 直接执行无需额外参数

实现逻辑

// 类型4为转为小写
case 4:
    return QString("%1/%2.%3").arg(dir.absolutePath())
           .arg(fi.baseName().toLower())  // 文件名转小写
           .arg(fi.suffix().toLower());   // 扩展名转小写

效果
CONFIG.INIconfig.ini
README.MDreadme.md

3.4 扩展名批量修改

场景:将txt文件转为md格式
操作

  1. 切换到「扩展名修改」标签页
  2. 源扩展名选择.txt
  3. 目标扩展名输入md

实现逻辑

// 替换文件扩展名
QString getNewName(QString oldName, const QString& destExt) {
    QFileInfo fi(oldName);
    int oldExtSize = fi.suffix().length();
    return QString("%1%2").arg(oldName.mid(0, oldName.size()-oldExtSize))
           .arg(destExt);
}

效果
note1.txtnote1.md
draft2.txtdraft2.md

四、高级应用技巧

4.1 组合操作流程

mermaid

效果
Doc/Report.docxDoc/2023_report.docx

4.2 错误处理机制

错误类型可能原因解决方案
重命名失败文件被占用关闭占用程序后重试
无权限操作系统保护目录复制文件到其他目录处理
名称冲突生成重复文件名添加序号后缀(如_01

五、使用注意事项

  1. 操作前建议备份文件,避免不可逆修改
  2. 处理大量文件时,可通过「进度窗口」查看实时状态
  3. 对于特殊字符(如空格、中文),程序已做兼容处理
  4. 目前版本暂不支持正则表达式高级匹配,复杂规则需分多步实现

六、未来功能展望

根据源码规划(renamewin.h中预留接口),后续版本可能支持:

  • 正则表达式替换模式
  • 文件名批量编号功能
  • 自定义规则保存与导入
  • 预览功能(修改前显示预期结果)

【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 【免费下载链接】notepad-- 项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值