hugo-teek is loading...

批量重命名脚本-v2

最后更新于:

批量重命名脚本-v2-2025.9.8(亲测有效)

image-20250728072314704

目录

[[toc]]

[toc]

需求

请写一个python脚本,将当前test目录下的所有.md文件重命名下,文件名以test1.md, test2.md,test3.md…… testn.md,以此类推,请给出完整代码

回答

下面是一个可以将当前目录下 test 文件夹中所有.md 文件按顺序重命名为 test1.md、test2.md… 的 Python 脚本:

批量重命名md文件的Python脚本

这个脚本的功能和特点:

  1. 首先检查 test 目录是否存在,如果不存在会给出错误提示
  2. 收集 test 目录中所有的.md 文件,并过滤掉目录(只处理文件)
  3. 对收集到的文件按原文件名进行排序(确保重命名顺序可预测)
  4. 按顺序将文件重命名为 test1.md、test2.md…testn.md
  5. 包含防覆盖机制,如果新文件名已存在,会自动添加后缀(如 test1_1.md)
  6. 执行过程中会显示每个文件的重命名情况,最后显示总处理数量

使用时,只需将脚本放在 test 目录的同级目录下运行即可。如果 test 目录中有子目录,脚本不会处理子目录中的.md 文件,只处理 test 目录下直接存放的.md 文件。

 1import os
 2
 3def rename_md_files():
 4    # 定义目标目录
 5    target_dir = "test"
 6    
 7    # 检查目录是否存在
 8    if not os.path.exists(target_dir):
 9        print(f"错误:目录 '{target_dir}' 不存在")
10        return
11    
12    # 获取目录中所有的.md文件
13    md_files = []
14    for filename in os.listdir(target_dir):
15        # 检查是否是.md文件
16        if filename.endswith(".md"):
17            # 获取完整路径
18            full_path = os.path.join(target_dir, filename)
19            # 确保是文件而不是目录
20            if os.path.isfile(full_path):
21                md_files.append(full_path)
22    
23    if not md_files:
24        print(f"在 '{target_dir}' 目录中没有找到.md文件")
25        return
26    
27    # 按文件名排序(可选)
28    md_files.sort()
29    
30    # 重命名文件
31    for i, old_path in enumerate(md_files, 1):
32        # 构建新文件名
33        new_filename = f"test{i}.md"
34        new_path = os.path.join(target_dir, new_filename)
35        
36        # 避免覆盖已存在的文件
37        counter = 1
38        while os.path.exists(new_path):
39            new_filename = f"test{i}_{counter}.md"
40            new_path = os.path.join(target_dir, new_filename)
41            counter += 1
42        
43        # 执行重命名
44        os.rename(old_path, new_path)
45        print(f"已重命名: {os.path.basename(old_path)} -> {new_filename}")
46    
47    print(f"重命名完成,共处理 {len(md_files)} 个.md文件")
48
49if __name__ == "__main__":
50    rename_md_files()
51    

亲测

以上脚本,经亲自测试,有效果。2025年9月8日测试

image-20250908123924120

脚本位置

D:\BaiduSyncdisk\脚本\02.Python脚本\02-批量重命名脚本\v2

image-20250908124129248

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航