news 2026/4/17 18:13:22

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

作者头像

张小明

前端开发工程师

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/4/17 3:42:35

国产数据库在金融核心系统的落地实践与挑战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个金融级国产数据库迁移评估系统&#xff0c;能够自动分析现有Oracle数据库Schema和SQL模式&#xff0c;评估迁移到国产数据库(如OceanBase)的兼容性和性能差异。系统需包含…

作者头像 李华
网站建设 2026/4/16 18:32:15

大数据 基于python的国内旅游景点数据分析与推荐系统

目录 大数据与Python在国内旅游景点数据分析与推荐系统中的应用系统架构与数据来源关键技术实现实际应用价值 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 大数据与Python在国内旅游景点数据分析与推荐…

作者头像 李华
网站建设 2026/4/17 16:50:46

AI助力Windows Docker开发:智能代码生成与优化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个基于Windows Server Core的Docker开发环境配置工具&#xff0c;要求&#xff1a;1. 自动生成适配Windows容器的Dockerfile模板&#xff0c;包含.NET Framework 4.8和IIS基…

作者头像 李华
网站建设 2026/4/16 15:26:36

FSMC驱动TFT液晶屏:从原理到完整项目实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个STM32F4系列FSMC驱动RGB接口TFT液晶屏的完整项目&#xff0c;要求&#xff1a;1. 实现800x480分辨率16位色显示 2. 包含FSMC硬件初始化代码 3. 提供画点、画线、显示图片等…

作者头像 李华
网站建设 2026/4/16 16:58:09

强烈安利8个AI论文平台,MBA轻松搞定毕业论文!

强烈安利8个AI论文平台&#xff0c;MBA轻松搞定毕业论文&#xff01; AI 工具正在重塑论文写作的未来 在当前的学术环境中&#xff0c;MBA 学生面临着越来越高的论文要求&#xff0c;从选题到撰写再到降重&#xff0c;每一步都充满了挑战。而 AI 工具的出现&#xff0c;为这一过…

作者头像 李华
网站建设 2026/4/8 6:50:21

麦橘超然降本部署案例:float8量化让显存占用降低60%

麦橘超然降本部署案例&#xff1a;float8量化让显存占用降低60% 1. 引言&#xff1a;为什么中低显存设备也能跑高质量图像生成&#xff1f; 你是不是也遇到过这种情况&#xff1a;手头有一张不错的显卡&#xff0c;比如RTX 3060或4070&#xff0c;想试试最新的AI绘画模型&…

作者头像 李华