«

一款跨平台文件批量重命名工具:支持灵活插入、安全校验、日志追溯

从0至1 • 12 天前 • 67 次点击 • 灵感迸发


推荐一款跨平台文件批量重命名工具:支持灵活插入、安全校验、日志追溯

引言:为什么需要这款批量重命名工具?

日常工作 / 生活中,我们经常遇到需要批量处理文件名称的场景:

手动重命名几十上百个文件效率极低,而市面上的重命名工具要么跨平台兼容性差,要么功能单一(只支持前缀 / 后缀)。因此,我开发了这款跨平台、高灵活、高安全的批量重命名工具,支持 Windows/macOS/Linux,可自定义 “开头 / 末尾 / 中间” 插入内容,还自带多重校验和日志功能。

一、工具核心亮点

1. 跨平台无缝兼容

自动识别当前操作系统(Windows/macOS/Linux),适配不同系统的文件名称非法字符规则:

  输入自定义内容时会自动过滤非法字符,无需手动处理。

2. 三种重命名模式,覆盖所有场景

| 模式   | 适用场景                         | 路径支持                                           |

| ---- | ---------------------------- | ---------------------------------------------- |

| 仅文件夹 | 批量修改文件夹名称(如项目版本号更新)          | 单路径、多路径(逗号分隔)、通配符(如 ./project/*_old)         |

| 仅文件  | 批量修改文件名称(如照片、文档、代码文件)        | 同上,且保留文件扩展名(如 .txt .jpg)                   |

| 所有内容 | 一次性修改指定目录下所有文件 + 文件夹(不递归子目录) | 单个根文件夹路径(如 C:\Users\Desktop~/Documents) |

3. 灵活的内容插入方式

支持三种插入位置,满足多样化需求:

4. 多重安全校验,避免操作失误

5. 操作日志追溯

支持将重命名记录保存到 rename_log.txt,包含:操作时间、操作人、目标类型、插入位置、原路径、新路径,便于后续核对。

二、快速上手使用教程

1. 环境准备

2. 使用步骤(以 “给照片添加前缀” 为例)

步骤 1:下载并运行脚本

将代码保存为 batch_rename.py,打开终端 / 命令行,执行:


python batch\_rename.py

启动后会显示工具界面:


\============================================================

          跨平台文件/文件夹批量重命名工具          

\============================================================
步骤 2:选择重命名模式

假设需要批量修改照片文件,选择模式 2(仅重命名文件):


【请选择操作模式】

1 - 仅重命名文件夹(单/多/通配符)

2 - 仅重命名文件(单/多/通配符)

3 - 重命名指定路径下的所有文件+所有文件夹(不递归)

请输入数字(1/2/3):2
步骤 3:输入待重命名路径

照片存放在 C:\Users\XXX\Pictures\云南旅游,支持通配符路径(匹配所有 .jpg 照片):


【第一步】请输入待重命名的文件路径(支持:

  1\. 单路径(绝对/相对)

  2\. 多路径(逗号分隔)

  3\. 通配符路径(如 ./test/\*)

请输入文件路径:C:\Users\XXX\Pictures\云南旅游\\\*.jpg
步骤 4:选择插入位置

需要在照片名称开头添加前缀,选择 “开头”:


【第二步】请选择添加内容的位置(开头/末尾/中间):开头
步骤 5:输入自定义内容

输入前缀「2024 云南旅游_」,工具会自动过滤非法字符(若有):


【第三步】请输入需要添加的自定义内容:2024云南旅游\_
步骤 6:预览并确认执行

工具会展示所有待重命名文件的预览效果,确认无误后输入 Y 执行:


【第四步】重命名预览(共15个目标):

\------------------------------------------------------------

✅  \[file] C:\Users\XXX\Pictures\云南旅游\IMG\_001.jpg → 2024云南旅游\_IMG\_001.jpg

✅  \[file] C:\Users\XXX\Pictures\云南旅游\IMG\_002.jpg → 2024云南旅游\_IMG\_002.jpg

...

\------------------------------------------------------------

是否确认执行重命名操作?(Y/N):Y
步骤 7:查看结果并保存日志

执行完成后会显示统计结果,可选保存日志:


\============================================================

执行完成!总计:15 | 成功:15 | 失败:0

\============================================================

是否保存操作日志到本地?(Y/N):Y

操作日志已保存到 C:\Users\XXX\rename\_log.txt

3. 中间插入模式示例(给文件名称中间加标识)

若需要将 合同202405.txt 改为 合同_重要_202405.txt,步骤如下:

三、核心代码解析(适合开发者参考)

工具的核心设计围绕 “兼容性、安全性、灵活性” 展开,以下是关键模块的设计思路:

1. 跨平台适配模块


\# 定义不同系统的非法字符正则

ILLEGAL\_CHARS = {

    'windows': r'\[?\*]',

    'macos': r'\[:/]',

    'linux': r'\[/]'

}

def get\_os\_type() -> str:

    if sys.platform.startswith('win'):

        return 'windows'

    elif sys.platform.startswith('darwin'):

        return 'macos'

    else:

        return 'linux'

通过 sys.platform 识别系统,结合正则过滤非法字符,确保生成的新名称符合当前系统规则。

2. 路径处理模块

核心函数 get_target_list() 支持多路径、通配符解析:

3. 新名称生成模块


def generate\_new\_name(target: Dict, position: str, custom\_content: str, insert\_index: int = 0) -> str:

    if target\['type'] == 'folder':

        \# 文件夹直接处理完整名称

        original\_name = target\['path'].name

        \# 开头/末尾/中间插入逻辑

    else:

        \# 文件保留扩展名,仅处理主名称

        original\_stem = target\['path'].stem

        original\_suffix = target\['path'].suffix

        \# 生成新主名称后拼接扩展名

区分文件和文件夹,文件保留扩展名是关键设计(避免修改后文件无法打开),中间插入时自动处理索引越界(默认插入到名称中间)。

4. 安全校验模块

四、常见问题与解决方案

1. 路径输入后提示 “路径不存在”?

2. 重命名失败提示 “权限不足”?

3. 自定义内容被过滤后为空?

4. 中间插入模式的索引怎么填?

五、工具扩展方向(可选)

如果需要更复杂的功能,可以基于现有代码扩展:

  1. 支持递归处理子目录(在 get_target_list() 中添加 rglob() 遍历);

  2. 增加 “替换名称” 功能(支持正则替换原名称中的字符);

  3. 支持批量修改扩展名(如将所有 .jpg 改为 .png);

  4. 图形化界面(使用 tkinterPyQt 封装交互逻辑);

  5. 支持自定义日志保存路径和格式。

总结

这款批量重命名工具兼顾了 “易用性” 和 “功能性”,无需复杂配置,直接运行即可使用,同时通过多重校验确保操作安全,跨平台特性满足不同系统用户的需求。无论是日常文件整理,还是工作中的批量处理场景,都能大幅提升效率。

如果使用过程中遇到问题,或有新的功能需求,欢迎在评论区留言交流!

个人矩阵

  • 抖音账号:从 0 至 1(日常分享实操、效率工具教程)

  • 微信公众号:从 0 至 1(可通过该渠道获取完整代码包及EXE程序)

  • 博客网站:www.from0to1.cn(持续更新实战教程、技术干货内容)

  • GitHub账号:https://github.com/mtnljbydd(开源更多实用工具脚本及项目工程)


扫描二维码,在手机上阅读
文章目录


    收藏
    还没收到回复
    请先 登录 再回复