批量重命名文件可用Python的os.rename()或pathlib.Path.rename()实现,需先解析原名信息、定义新规则、安全预览再执行;示例脚本按创建时间+序号重命名.jpg文件。

批量重命名文件用 Python 实现,核心是 os.rename() 或 pathlib.Path.rename(),配合循环和字符串处理即可完成自动化解析与重命名。关键在于:明确原始文件名规律、定义新命名规则、安全预览、再执行。
识别并提取原始文件信息
多数批量重命名需从旧名中“解析”有用信息,比如日期、编号、类型标识等。常用方法:
- 用 str.split() 拆分下划线/短横/空格分隔的字段(如
"IMG_20231005_001.jpg"→ 提取"20231005"和"001") - 用 re.search() 匹配复杂模式(如从
"report_v2_final_2024-03-15.pdf"中提取"2024-03-15") - 用 pathlib.Path.stem 获取无后缀的主文件名,避免手动切后缀
构造规范的新文件名
命名规则要清晰、可读、可排序。常见策略:
- 统一前缀 + 解析出的日期 + 序号(如
f"photo_20231005_{i:03d}.jpg") - 按类型归类重命名:
"log_" + 日期 + "_" + 序号 - 保留原扩展名:
new_name = f"{clean_base}.{old_path.suffix.lstrip('.')}" - 避免非法字符(
/ \ : * ? " |),可用re.sub(r'[^\w.-]', '_', name)清洗
安全执行:先预览,再重命名
误操作可能造成文件丢失或混乱,务必分两步:
wechat-miniprogram-plugin是基于JetBrains平台的微信小程序插件。主要功能wxml/wxss/wxs文件支持语法解析代码完成代码高亮wxml嵌入表达式支持wxml 标签支持wxml提取自定义组件创建微信小程序组件以及页面相关文件导航微信小程序自定义组件支持自动注册自定义组件组件配置解析重命名小程序自定义组件或页面同时移动自定义组件或页面的所有文件微信小程序配置文件支持
立即学习“Python免费学习笔记(深入)”;
- 第一步:遍历所有目标文件,打印「旧名 → 新名」映射,人工核对 2–3 个是否符合预期
- 第二步:确认无误后,再调用
old_path.rename(new_path);建议加try...except捕获权限或重名错误 - 可选:添加
--dry-run参数控制是否真实执行(用argparse实现)
完整轻量示例(按创建日期+序号重命名)
以下脚本将当前目录下所有 .jpg 文件,按文件创建时间升序,重命名为 img_20231005_001.jpg 格式:
from pathlib import Path import timefolder = Path(".") jpgs = sorted(folder.glob("*.jpg"), key=lambda p: p.stat().st_ctime)
for i, old_path in enumerate(jpgs, 1): ctime = time.localtime(old_path.stat().st_ctime) date_str = time.strftime("%Y%m%d", ctime) newname = f"img{datestr}{i:03d}{old_path.suffix}" new_path = old_path.parent / new_name print(f"→ {old_path.name} → {new_name}")
取消下一行注释才真正执行
# old_path.rename(new_path)









