当前位置: 首页 > news >正文

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

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.jsqmd.com/news/288328/

相关文章:

  • 【油猴脚本】AnMe - 通用多网站多账号切换器
  • 聊聊功能医学推荐实验室、实力强的功能医学医院哪家好
  • CMake 相关变量总结(在工作中需要使用的)
  • 供电安全智控系统供应商指南:实力厂家与品牌推荐
  • AI如何智能解决新老域名失效问题
  • 5分钟用docker-compose.yml搭建开发环境原型
  • 小白必看:Edge浏览器卸载图文教程(附常见问题解答)
  • 2026年1月球磨机厂家最新TOP实力排名:含圆盘造粒机、双轴搅拌机、工业烘干机精选
  • 1小时打造PE系统原型:快马平台创意验证实战
  • 深入解析:接上篇:如何在项目中实现ES查询功能?
  • 零基础入门CIJILU系统开发
  • Datawrapper入门指南:5分钟创建你的第一个数据图表
  • (2026年最新版)手把手教你搭建本地知识库:个人与中小企业专属指南
  • 5分钟原型:用AI构建加密应用不再怕模块错误
  • 企业IT运维实战:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED的5个真实解决案例
  • BERT在智能客服中的5个实战应用场景
  • Qwen2.5部署太复杂?官方镜像免配置方案快速上手教程
  • 1小时搭建TELNET测试环境:Docker极简方案
  • 3倍效率!SOUL网页版登录流程优化全记录
  • 企业级Linux系统维护密码管理实战
  • 为什么Z-Image-Turbo启动失败?预置缓存配置避坑指南保姆级教程
  • 三极管在智能家居中的5个创新应用案例
  • 物理信息神经网络VS传统CFD:效率对比实验
  • 1小时搭建GIT规范检查工具:基于Husky的极速方案
  • 用verl做了个AI对话优化项目,全过程分享
  • 盘友圈如何比传统社交平台更高效?
  • KITTI数据集入门指南:从下载到可视化
  • 1分钟搞定!用这个工具快速导出Windows聚焦壁纸
  • AI如何帮你快速获取和验证RedHat镜像文件
  • HUMAN3.0提示词:AI如何帮你写出更聪明的代码