You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将多文件夹对应序号文件批量归集到新文件夹并解决重名问题

实现方案

核心解决思路

重名冲突通过给文件追加来源文件夹的唯一标识解决,保证同目标文件夹下所有文件名唯一。

分步操作

  • 前置整理
    先给9个存放原始视频的文件夹设置唯一标识名,比如按顺序命名为src_01到src_09,同时提前创建好130个目标文件夹,命名为folder_01到folder_130。
  • 重命名规则设定
    把来源文件夹标识作为前缀加到原文件名前面,格式为[来源标识]_原文件名.扩展名。比如来自src_01的lesson_01.mp4,移动到folder_01后命名为src01_lesson_01.mp4,同个目标文件夹下的9个文件不会出现重名。
  • 批量执行逻辑
    1170个文件的量级推荐用脚本批量完成移动+重命名操作,避免手动处理的误差,核心Python代码逻辑参考:
    import os
    import shutil
    
    # 配置参数,根据自己的实际路径修改
    src_root = "你的原始9个文件夹的上级目录路径"
    target_root = "你要存放folder_01到folder_130的上级目录路径"
    src_folders = [f"src_{i:02d}" for i in range(1,10)] # 对应9个已重命名的原始文件夹
    total_file_count = 130
    
    # 提前创建所有目标文件夹
    for i in range(1, total_file_count+1):
        os.makedirs(os.path.join(target_root, f"folder_{i:02d}"), exist_ok=True)
    
    # 遍历每个原始文件夹,移动并重命名文件
    for src_idx, src_folder in enumerate(src_folders, start=1):
        src_folder_path = os.path.join(src_root, src_folder)
        # 按文件名排序获取文件,确保序号和你的需求匹配
        video_files = sorted([f for f in os.listdir(src_folder_path) if f.endswith(('.mp4', '.mov', '.avi', '.mkv'))]) # 可补全你用到的视频格式后缀
        for file_idx, original_file_name in enumerate(video_files, start=1):
            # 构建不重复的新文件名
            new_file_name = f"src{src_idx:02d}_{original_file_name}"
            # 拼接目标文件路径
            target_file_path = os.path.join(target_root, f"folder_{file_idx:02d}", new_file_name)
            # 执行移动操作
            shutil.move(os.path.join(src_folder_path, original_file_name), target_file_path)
    
    如果文件量较小不想写脚本,也可以手动按照上述重命名规则逐个移动,只是出错概率更高。
  • 校验环节
    批量操作完成后,可统计每个folder_xx下的文件数量,确认都是9个且无重名即可。

内容的提问来源于stack exchange,提问作者Lakpa Tamang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:27:02