用 Python Tkinter 写了个高颜值批量文件重命名工具,核心是这套安全重命名算法
用 Python Tkinter 写了个 高颜值 批量文件重命名工具核心是这套安全重命名算法前言平时整理下载文件夹、相机照片、项目文档最烦的就是文件名乱糟糟photo (1).jpg、新建文档 2.docx、IMG_20240801_235959.jpg……市面上批量重命名工具不少但要么界面老得像是上个时代的产品要么一堆付费弹窗。于是我用 Python 标准库Tkinter手搓了一个零第三方依赖、现代 UI、规则灵活最关键的是——重命名永远不会把文件搞丢。已开源文末有仓库地址。界面长这样左右分栏左边实时预览原文件名 → 新文件名右边管理重命名规则底部一键执行。配色走紫罗兰 青色的现代路线参考了 WorkBuddy 一类的质感。功能一览功能说明文件类型过滤图片 / 文档 / 视频 / 音频 / 压缩包一键筛选8 种重命名规则查找替换、加前缀、加后缀、序号编号、删除区间、改扩展名、正则替换、大小写转换规则组合多条规则按顺序依次执行可增删改、上下移规则导入导出规则集存成 JSON下次直接复用预览 冲突检测执行前先看效果自动标出目标名冲突一键撤销重命名错了点一下全部恢复技术亮点安全重命名这一步最容易翻车批量重命名的最大风险不是规则写错而是重命名过程本身。最经典的坑互换改名想把a.txt改成b.txt、b.txt改成a.txt。如果按顺序一个接一个改第二次就撞名了连环改名a → b、b → c顺序不对就失败改名改到一半程序崩溃文件名停在中间状态。我的方案是临时名两步法代码在br4.py的execute_rename/_safe_rename第一步所有文件 → 临时名UUID 前缀形如 .br_tmp_xxxx_原文件名 第二步所有临时名 → 目标名这样做的好处任何时刻文件名互不冲突——临时名用的是 UUID几乎不可能撞名原目标名也被腾空了执行前把「原文件名 → 目标名」的映射存在内存里某一步失败就逆序回滚_rollback_temps文件不会停留在半改名状态撤销undo_rename就是反向执行一遍映射表简单可靠。此外还有两道校验Windows 非法字符 : / \ | ? *和 1-31 控制字符改名后直接进不去系统必须提前拦Windows 保留名CON、PRN、AUX、NUL、COM1~9、LPT1~9——这些名字在 Windows 里是设备名你永远创建不出一个叫CON.txt的文件代码里提前给出警告。规则引擎怎么设计每条规则就是一个(规则类型, 参数字典)元组按列表顺序执行_apply_single_rule里用 if-elif 分发forrule_type,paramsinself.rules:ifrule_typeregex:namere.sub(params[pattern],params[new],name)elifrule_typeprefix:nameparams[text]name# ...规则可以导出成 JSONexport_rules/import_rules比如照片加水印式编号这套规则存下来下次换个文件夹直接用。扩展新规则也很容易在RuleDialog里加一个类型 参数表单在_apply_single_rule里加一个分支就完事。怎么用源码直接跑只用 Python 标准库无任何第三方依赖python br4.py打包成单文件 exePyInstallerpipinstallpyinstaller pyinstaller br4.spec产物就是dist/br4.exe双击即用。开源地址仓库https://gitcode.com/2402_84199450/Batch_Rename协议MIT代码里还保留了br1.py~br3.py的完整演进历史从 4 月最初版到现在的重构版想看一个工具怎么一步步长成这样的可以翻翻。如果觉得有用欢迎 Star 支持也欢迎提 Issue 交流新规则的想法

相关新闻

电商AI实战:AI做电商图的八个诀窍和六步工作流!

电商AI实战:AI做电商图的八个诀窍和六步工作流!

AI李叔 电商AI实战系列同样是让 AI 做电商图,为什么有人出的图一张比一张漂亮,链接却越来越冷清;有人出的图算不上惊艳,就是能带转化?差的那层东西,不在画质里,在流程里。我是AI李叔&#xff0…

2026/8/28 18:57:27 阅读更多 →
基于OpenCV DNN部署YOLOv8模型:从人脸关键点到车牌角点的通用视觉检测方案

基于OpenCV DNN部署YOLOv8模型:从人脸关键点到车牌角点的通用视觉检测方案

简介:计算机视觉中的目标检测与关键点检测是两项基础且核心的任务,广泛应用于安防、自动驾驶、工业质检等领域。其原理通常基于深度学习模型,通过卷积神经网络提取图像特征,并回归出目标的边界框及内部关键点的坐标。这类技术的核…

2026/8/28 18:56:26 阅读更多 →
[论文学习]MPIB:医疗提示注入基准——针对LLM临床安全性的系统性评估

[论文学习]MPIB:医疗提示注入基准——针对LLM临床安全性的系统性评估

MPIB: Medical Prompt Injection Benchmark 论文重点 MPIB(Medical Prompt Injection Benchmark)是首个专注于医疗场景下大语言模型(LLM)提示注入攻击风险的系统性评估基准。该研究构建了包含9,697个临床对抗性样本的数据集&…

2026/8/28 18:56:26 阅读更多 →

最新新闻

Hoppscotch 快速上手指南:5分钟跑起一个开源 API 测试平台

Hoppscotch 快速上手指南:5分钟跑起一个开源 API 测试平台

Hoppscotch 快速上手指南:5分钟跑起一个开源 API 测试平台 【免费下载链接】hoppscotch Open-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, Ins…

2026/8/29 22:17:32 阅读更多 →
纯CSS3实现高性能科技感Loading动画

纯CSS3实现高性能科技感Loading动画

简介:Loading动画是现代Web用户体验的关键触点,其本质是通过视觉反馈降低用户等待焦虑。基于CSS3的声明式动画方案,依托GPU硬件加速、合成层渲染与CSS变量系统,实现零JS依赖、高帧率、低CPU占用的加载效果。相比传统JavaScript动画…

2026/8/29 22:17:32 阅读更多 →
uv 自更新完全指南:1 条命令升级、按版本回退与 CI 自动更新

uv 自更新完全指南:1 条命令升级、按版本回退与 CI 自动更新

uv 自更新完全指南:1 条命令升级、按版本回退与 CI 自动更新 【免费下载链接】uv An extremely fast Python package and project manager, written in Rust. 项目地址: https://gitcode.com/GitHub_Trending/uv/uv uv 是用 Rust 编写的极速 Python 包管理器…

2026/8/29 22:17:32 阅读更多 →
BFS算法实战:从蓝桥杯“扩散”题掌握广度优先搜索核心技巧

BFS算法实战:从蓝桥杯“扩散”题掌握广度优先搜索核心技巧

1. 从“扩散”到“BFS”:一道经典国赛题的解题脉络 看到“扩散”这个题目,很多参加过蓝桥杯的同学可能都会心一笑。这道来自第十一届蓝桥杯C国赛的B题,可以说是BFS(广度优先搜索)算法在竞赛中的一个经典应用范本。它不…

2026/8/29 22:17:32 阅读更多 →
前端实习笔试考点全解析:JS基础、闭包、事件循环与Vue备考指南

前端实习笔试考点全解析:JS基础、闭包、事件循环与Vue备考指南

我记得那天晚上,打开在线笔试链接之后,整个人对着一个空荡荡的文本框懵了很久。那道题要求手写一个带防抖功能的函数,并且要正确处理 this 指向和参数透传。日常开发里这不是什么难事,可用处在一个没有自动补全、没有任何提示的…

2026/8/29 22:17:32 阅读更多 →
3 步配好 PowerToys Awake,电脑不再突然休眠

3 步配好 PowerToys Awake,电脑不再突然休眠

3 步配好 PowerToys Awake,电脑不再突然休眠 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys 夜里…

2026/8/29 22:16:32 阅读更多 →

日新闻

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:00:24 阅读更多 →
【JavaScript】内存管理-垃圾回收机制-内存泄露

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:00:24 阅读更多 →
Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/29 0:00:24 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/29 18:08:35 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 23:05:07 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 19:47:53 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/29 4:34:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/29 2:05:18 阅读更多 →