批量给文件重命名。按日期+分类+序号格式统一命名,适配杂乱文件快速整理归档。

1. 实际应用场景与痛点

场景

你是一名职场人或自由职业者,电脑里有很多杂乱的文件(如图片、文档、视频),命名方式五花八门(

"IMG_1234.jpg"、

"新建文本文档.txt"、

"视频1.mp4"),查找和管理非常困难。

你需要将它们按拍摄日期/创建日期、文件类型分类、序号递增的方式统一命名,方便归档和检索。

痛点

- 文件名混乱,难以查找

- 手动重命名耗时耗力

- 容易出错(覆盖文件)

- 缺乏自动化批量处理能力

2. 核心逻辑

1. 扫描目标文件夹,获取所有文件

2. 读取文件创建/修改日期(作为日期部分)

3. 根据扩展名分类(如

"image"、

"doc"、

"video")

4. 按日期+分类+序号生成新文件名

5. 批量重命名,避免冲突

6. 日志记录,方便回溯

3. 代码模块化设计

file_renamer/

├── main.py # 主程序入口

├── renamer.py # 重命名核心逻辑

├── utils.py # 辅助函数(日期、分类)

├── config.py # 配置文件

└── README.md # 使用说明

4. 代码实现(含详细注释)

"config.py"

# 配置参数

TARGET_DIR = "./files" # 目标文件夹路径

DATE_FORMAT = "%Y%m%d" # 日期格式

CATEGORY_MAP = {

".jpg": "image",

".png": "image",

".pdf": "doc",

".docx": "doc",

".mp4": "video",

".mov": "video"

}

"utils.py"

import os

from datetime import datetime

from config import DATE_FORMAT

def get_file_date(file_path):

"""

获取文件的修改时间作为日期

"""

timestamp = os.path.getmtime(file_path)

return datetime.fromtimestamp(timestamp).strftime(DATE_FORMAT)

def get_category(ext):

"""

根据扩展名返回分类

"""

return CATEGORY_MAP.get(ext.lower(), "other")

"renamer.py"

import os

from utils import get_file_date, get_category

from config import TARGET_DIR, DATE_FORMAT

def batch_rename():

"""

批量重命名文件

"""

if not os.path.exists(TARGET_DIR):

print(f"目录不存在: {TARGET_DIR}")

return

files = [f for f in os.listdir(TARGET_DIR) if os.path.isfile(os.path.join(TARGET_DIR, f))]

files.sort() # 按原顺序排序

for idx, old_name in enumerate(files, start=1):

ext = os.path.splitext(old_name)[1]

file_path = os.path.join(TARGET_DIR, old_name)

date_str = get_file_date(file_path)

category = get_category(ext)

new_name = f"{date_str}_{category}_{idx:03d}{ext}"

new_path = os.path.join(TARGET_DIR, new_name)

# 避免覆盖

counter = 1

while os.path.exists(new_path):

new_name = f"{date_str}_{category}_{idx:03d}_{counter}{ext}"

new_path = os.path.join(TARGET_DIR, new_name)

counter += 1

os.rename(file_path, new_path)

print(f"重命名: {old_name} -> {new_name}")

"main.py"

from renamer import batch_rename

def main():

print("=== 批量文件重命名工具 ===")

print("将按 日期_分类_序号 格式重命名文件")

input("按回车键开始...")

batch_rename()

print("✅ 重命名完成!")

if __name__ == "__main__":

main()

5. README.md

# 批量文件重命名工具

一个轻量级 Python 工具,按 日期+分类+序号 格式批量重命名文件,适合杂乱文件快速整理归档。

## 功能

- 按文件修改日期命名

- 按扩展名自动分类

- 序号递增,避免重复

- 日志记录重命名过程

## 安装

确保 Python 3.7+ 环境

bash

git clone <repo>

cd file_renamer

## 使用

1. 将要整理的文件放入 `./files` 目录

2. 运行:

bash

python main.py

3. 按回车开始重命名

## 配置

修改 `config.py` 可调整目标目录、日期格式、分类规则。

6. 使用说明

1. 将要整理的文件放入

"./files" 目录(或修改

"config.py" 中的路径)

2. 运行

"main.py"

3. 程序会按

"日期_分类_序号" 格式重命名文件

4. 同名文件会自动加后缀避免覆盖

7. 核心知识点卡片

知识点 说明

"os" 模块 文件遍历、重命名、路径操作

"datetime" 模块 获取和格式化文件日期

字典映射 扩展名到分类的映射

字符串格式化 生成新文件名

防冲突逻辑 检测并重命名避免覆盖

模块化设计 配置、逻辑、工具分离,易维护

8. 总结

这个工具解决了杂乱文件批量整理的痛点,适合职场人、摄影师、学生等需要管理大量文件的人群。

它的核心优势是简单、安全、可配置。

未来可以升级:

- 支持递归子目录

- 增加 GUI 界面

- 支持自定义命名规则

- 增加预览模式(不直接重命名)

如果你愿意,可以增加一个预览模式 + GUI 界面,让它在 Windows/macOS 上更易用。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1204505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【油猴脚本】AnMe - 通用多网站多账号切换器

AnMe通用多网站多账号切换器​ AnMe 是一款基于 篡改猴 / 脚本猫 浏览器插件开发的多网站多账号管理切换脚本。它通过“快照”机制,一键保存并恢复网站的登录状态(Cookie、LocalStorage 和 SessionStorage),助…

聊聊功能医学推荐实验室、实力强的功能医学医院哪家好

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家功能医学领域标杆企业,为企业家及社会精英选型提供客观依据,助力精准匹配适配的健康服务伙伴。 TOP1 推荐:远航健康 推荐指数:★★★★★ | 口碑评分:国内…

CMake 相关变量总结(在工作中需要使用的)

1. 编译选项相关的: 1.1. CMAKE_CXX_EXTENSIONS CMAKE_CXX_EXTENSIONS 是 CMake 中一个重要的编译选项控制变量,用于控制是否启用编译器特定的 C++ 扩展。 1.1.1 范例: # 设置示例 set(CMAKE_CXX_EXTENSIONS OFF) …

供电安全智控系统供应商指南:实力厂家与品牌推荐

在电力系统日益复杂、供电安全需求持续升级的今天,供电安全智控系统已成为保障电网稳定运行、防范重大风险的核心利器。寻找兼具技术实力、创新能力和可靠品质的供应商,成为众多电力企业、工业用户和基础设施建设单位…

AI如何智能解决新老域名失效问题

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI驱动的域名监控工具&#xff0c;能够自动检测新老域名的失效风险&#xff0c;并提供智能升级建议。功能包括&#xff1a;1. 实时监控域名状态&#xff1b;2. 预测失效风…

5分钟用docker-compose.yml搭建开发环境原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个快速原型生成器&#xff0c;用户只需选择技术栈&#xff08;如LAMP、MEAN、Jupyter等&#xff09;&#xff0c;就能立即生成对应的docker-compose.yml文件并启动完整开发环…

小白必看:Edge浏览器卸载图文教程(附常见问题解答)

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个交互式Edge卸载向导程序&#xff0c;具有以下特点&#xff1a;1.分步骤图文指引 2.实时操作验证 3.常见问题解答库 4.一键修复功能 5.安全回退机制。界面要求简洁直观&…

2026年1月球磨机厂家最新TOP实力排名:含圆盘造粒机、双轴搅拌机、工业烘干机精选

一、行业概述:磨烘干设备迎来智能化升级浪潮 随着矿山、建材、冶金及环保行业的迭代升级,球磨机作为核心研磨设备,与圆盘造粒机、双轴搅拌机、工业烘干机(含沙子、煤泥、煤炭专用机型及单筒、三回程款式)形成的成…

快速上手verl:基于P40的轻量级RLHF训练方案

快速上手verl&#xff1a;基于P40的轻量级RLHF训练方案 1. 为什么是P40&#xff1f;——从“老爷卡”里榨出强化学习的第一滴汁 你手边有没有一块积灰的Tesla P40&#xff1f;2016年发布的它&#xff0c;24GB显存、Pascal架构、计算能力6.1——在今天动辄A100/H100的语境下&a…

1小时打造PE系统原型:快马平台创意验证实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用快马平台快速创建一个PE系统原型&#xff0c;要求&#xff1a;1. 包含核心功能的最小可行产品&#xff1b;2. 自动生成可交互的前端界面&#xff1b;3. 实现基础业务逻辑。重点…

深入解析:接上篇:如何在项目中实现ES查询功能?

深入解析:接上篇:如何在项目中实现ES查询功能?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

(2026年最新版)手把手教你搭建本地知识库:个人与中小企业专属指南

在数据安全与隐私日益重要的今天&#xff0c;越来越多的个人用户和中小企业希望拥有一个完全本地化、可控、高效的智能知识库系统。通过将大语言模型与企业文档、项目资料、产品手册等知识内容结合&#xff0c;你可以实现智能问答、信息检索、自动摘要等强大功能&#xff0c;而…

Datawrapper入门指南:5分钟创建你的第一个数据图表

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个分步指导的Datawrapper教程网页&#xff1a;1. 展示注册账号流程 2. 演示上传简单数据CSV的步骤 3. 指导选择图表类型和基本设置 4. 讲解发布和分享选项。要求包含截图示例…

5分钟原型:用AI构建加密应用不再怕模块错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用AI快速生成一个Python加密应用原型&#xff0c;要求:1)自动处理模块依赖(pycryptodome替代crypto)&#xff1b;2)实现文件加密/解密功能&#xff1b;3)生成简单GUI界面&#x…

零基础入门CIJILU系统开发

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个简单的CIJILU系统Demo&#xff0c;包含用户登录、数据录入和基本查询功能。使用Python Flask框架&#xff0c;SQLite数据库&#xff0c;前端使用HTML/CSS/JavaScript。提供…

Qwen2.5部署太复杂?官方镜像免配置方案快速上手教程

Qwen2.5部署太复杂&#xff1f;官方镜像免配置方案快速上手教程 1. 为什么你不需要再折腾环境配置了 你是不是也经历过这样的场景&#xff1a; 想试试最新的Qwen2.5模型&#xff0c;结果光是装依赖就卡在torch版本冲突上&#xff1b; 好不容易跑通了&#xff0c;发现还要手动…

企业IT运维实战:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED的5个真实解决案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业级Windows系统诊断工具包&#xff0c;包含&#xff1a;1. 自动化收集系统日志和dump文件 2. 常见蓝屏错误知识库 3. 针对SYSTEM_THREAD_EXCEPTION_NOT_HANDLED的专用检…

BERT在智能客服中的5个实战应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于BERT的智能客服原型系统&#xff0c;具备以下功能&#xff1a;1. 用户问题意图识别 2. 知识库问答匹配 3. 多轮对话管理 4. 上下文理解 5. 回答生成。要求使用Flask框…

用YOLOv13做了个智能监控系统,效果超出预期

用YOLOv13做了个智能监控系统&#xff0c;效果超出预期 在安防与工业视觉领域&#xff0c;一个真正“好用”的智能监控系统&#xff0c;从来不是靠堆算力换来的——而是要在低延迟、高精度、易部署之间找到那个微妙的平衡点。过去半年&#xff0c;我用 YOLOv13 官版镜像 搭建了…

传统CDN vs 新型边缘计算:性能与成本全面对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个CDN性能对比测试工具&#xff0c;功能包括&#xff1a;1. 自动化在全球多个位置发起测试请求 2. 测量传统CDN和边缘计算平台的响应时间、吞吐量 3. 计算不同方案的成本效益…