news 2026/9/2 23:27:23

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

作者头像

张小明

前端开发工程师

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/8/24 3:24:18

1小时搭建:基于XSHELL的自动化运维原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个轻量级服务器监控原型&#xff0c;功能&#xff1a;1. 通过XSHELL定时采集CPU/内存数据 2. 阈值告警触发邮件通知 3. 简易Web仪表盘展示 4. 支持5台以内服务器监控 5. 一键…

作者头像 李华
网站建设 2026/9/2 21:57:34

企业级解决方案:管理ANTIMALWARE SERVICE EXECUTA内存占用的5个技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Windows系统管理工具&#xff0c;专门用于配置和优化ANTIMALWARE SERVICE EXECUTA。功能包括&#xff1a;1) 实时内存监控仪表盘 2) 进程调度优先级调整 3) 扫描排除列表管…

作者头像 李华
网站建设 2026/9/2 21:35:27

小白也能懂:KB2533623漏洞图解教程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个面向新手的KB2533623科普应用&#xff0c;包含&#xff1a;1. 漏洞原理动画演示 2. 系统检查小工具 3. 一键修复按钮 4. 常见问题解答 5. 学习资源推荐。要求界面友好&…

作者头像 李华
网站建设 2026/9/2 21:27:33

从Excel到人力规划:企业排班的四大演进阶段解析

排班是企业人力管理的核心基础&#xff0c;多数管理者陷入“排班工具焦虑”&#xff1a;既担心Excel排班落后&#xff0c;又困惑智能系统是否适配。行业实践表明&#xff0c;排班升级并非简单替换工具&#xff0c;而是与企业成长同频的系统过程。基于大量企业服务案例&#xff…

作者头像 李华
网站建设 2026/9/2 20:42:11

效率对比:手动安装vs自动化解决OLEDB注册问题

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个自动化工具包&#xff0c;包含&#xff1a;1) 驱动检测模块 2) 静默安装模块 3) 回滚模块。要求支持Windows 7/10/11系统&#xff0c;能生成安装报告&#xff0c;提供Powe…

作者头像 李华