news 2026/5/21 14:01:19

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

作者头像

张小明

前端开发工程师

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

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高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 21:48:08

PYTHON TKINTER实战应用案例分享

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个PYTHON TKINTER实战项目&#xff0c;包含完整的功能实现和部署方案。点击项目生成按钮&#xff0c;等待项目生成完整后预览效果 最近在做一个需要图形界面的小工具时&…

作者头像 李华
网站建设 2026/5/20 15:10:51

5分钟搞定MyBatis符号转义验证原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个极简的MyBatis转义验证工具原型&#xff0c;功能包括&#xff1a;1. 单页面设计 2. 左侧输入原始SQL 3. 右侧实时显示转义结果 4. 一键复制代码 5. 基本的语法检查。要求使…

作者头像 李华
网站建设 2026/5/20 15:38:46

小白也能懂:终端防护中心卸载密码完全指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个交互式学习应用&#xff0c;逐步指导用户处理终端防护中心卸载密码问题。包含常见软件的具体操作步骤图解&#xff0c;密码找回方法演示&#xff0c;以及安全注意事项。要…

作者头像 李华
网站建设 2026/5/20 17:58:32

小程序 洗衣店 干洗店预约系统

目录洗衣店/干洗店预约系统摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作洗衣店/干洗店预约系统摘要 洗衣店和干洗店预约系统是一种基于小程序的数字化解决方案&#xff0c;旨在优化传统洗衣服务的业…

作者头像 李华
网站建设 2026/5/20 17:04:44

MARKDOWN在技术文档中的实战应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个MARKDOWN文档生成器&#xff0c;专门用于技术文档编写。用户可以输入技术文档的结构&#xff08;如简介、安装步骤、API参考等&#xff09;&#xff0c;系统自动生成符合技…

作者头像 李华
网站建设 2026/5/20 10:39:05

AI如何用INDEX函数简化你的Excel数据处理

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Excel数据处理工具&#xff0c;使用INDEX函数实现以下功能&#xff1a;1.根据用户输入的关键词自动匹配数据表中的对应行&#xff1b;2.支持多条件组合查询&#xff1b;3.…

作者头像 李华