高级功能类规则

高级功能类规则

想根据文件名特征做智能替换?扩展名被改错了,文件打不开?想用文件内容、大小等做复杂重命名?高级功能规则帮你实现。

规则一览

规则功能直观示例适用场景
条件替换根据锚点替换前后内容photo_20241225.jpgimg_20241225.jpg批量修改特定位置的字符;按条件替换不同内容
修正扩展名自动识别并修正错误的扩展名重要资料.zip111重要资料.zip修复被改名的压缩包;识别伪装文件
JS 脚本规则用 JavaScript 实现复杂重命名逻辑note.txt项目计划_note.txt读取文件内容做文件名;根据文件大小智能分类

常见组合(多规则流水线)

高级功能通常配合其他规则使用,让你一次性完成复杂的批量操作。

常见组合:

  • 修正扩展名 → 条件替换: 先修复被改错的扩展名,再用锚点统一调整文件名格式

    原文件: photo_001.jpg111, photo_002.jpg111
    ↓ 修正扩展名(识别为 .jpg)
    photo_001.jpg, photo_002.jpg
    ↓ 条件替换(锚点 "_",替换前面为 "img")
    img_001.jpg, img_002.jpg
  • JS 脚本 → 序号: 先用 JS 脚本按文件大小分类,再加序号

    原文件: report.pdf (5MB), photo.jpg (500KB)
    ↓ JS 脚本(按文件大小添加标签)
    [MEDIUM]_report.pdf, [SMALL]_photo.jpg
    ↓ 序号(3位数字)
    [MEDIUM]_report_001.pdf, [SMALL]_photo_002.jpg
  • 清理字符 → JS 脚本: 先清理文件名中的乱码,再用 JS 脚本读取文件内容做前缀

    原文件: ??note.txt(内容首行是"项目计划")
    ↓ 清理字符(保留字母、数字)
    note.txt
    ↓ JS 脚本(读取首行做前缀)
    项目计划_note.txt

💡 为什么要组合使用? 因为单个规则可能无法解决特别复杂的命名需求,组合使用能覆盖更多场景。比如先修复扩展名,再统一格式,最后加编号。

操作建议

  • 🎯 先想清楚需求:你是要修复扩展名、按规则替换,还是需要读取文件信息做复杂判断?
  • 🔍 从少量文件测试:先拿 5-10 个不同类型的文件验证一下,确认规则效果符合预期
  • ⚠️ 留意文件差异:不同文件的特征可能不一样(有些有锚点、有些没有;有些是压缩包、有些不是),检查预览结果

常见问题

Q: 条件替换和 JS 脚本有什么区别?什么时候用哪个?

A:

  • 条件替换:适合简单的文本替换逻辑,不需要写代码,配置简单。比如"把下划线前面的内容改成固定文字"
  • JS 脚本:适合复杂的重命名逻辑,需要读取文件内容、判断文件大小、进行复杂计算等。需要会一点 JavaScript

建议:能用条件替换解决的就用条件替换,更简单。只有条件替换做不到的复杂需求,才考虑用 JS 脚本。


Q: 修正扩展名会修改文件的实际内容吗?

A: 绝对不会。修正扩展名规则只修改文件名(扩展名部分),不会读取或修改文件的实际内容。它通过读取文件头部的"魔术数字"(文件类型标识)来判断真实类型,然后修正文件名的扩展名部分。

你的文件内容是完全安全的。


Q: 处理大量文件时很慢,怎么优化?

A: 不同规则的性能特点不同:

  • 条件替换:速度很快,纯文本处理,不读取文件
  • 修正扩展名:需要读取每个文件的头部数据,处理大量文件时会慢一些(但有缓存机制)
  • JS 脚本:看你的代码逻辑,如果涉及文件读取(api.readTextFile)会比较慢

优化建议

  1. 分批处理:每次处理 50-100 个文件,而不是一次几千个
  2. 先用预览验证逻辑,确认无误后再大批量处理
  3. JS 脚本中避免不必要的文件读取操作

Q: 可以同时使用多个高级规则吗?

A: 可以!规则会按照你添加的顺序依次执行。比如:

规则1: 修正扩展名 → 把 .zip111 改成 .zip
规则2: 条件替换 → 把下划线前的内容改成 "backup"
规则3: 序号 → 添加 001、002 编号

最终效果: photo_data.zip111 → backup_data_001.zip

每个规则处理完后,下一个规则基于的是上一个规则改完后的文件名。建议先用预览验证整个流程,避免规则之间冲突。


💡 点击上面的规则名称可查看每种规则的详细用法和更多例子。