【Python】简单的按照文件类型批量分拣到对应文件夹的脚本

快速分拣你乱乱的桌面

import os
import shutil

# 定义文件类型和对应的文件夹
file_types = {
    'Images': ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.webp'],  # 添加了 .webp 格式
    'Documents': ['.pdf', '.docx', '.xlsx', '.pptx', '.txt', '.doc', '.xls', '.ppt'],  # 添加了 .doc, .xls, .ppt 格式
    'Videos': ['.mp4', '.avi', '.mkv', '.mov'],
    'Audio': ['.mp3', '.wav', '.flac'],
    'Archives': ['.zip', '.rar', '.7z'],
    'Blender': ['.blend', '.blend1'],  # Blender 文件
    'AI源文件': ['.ai']  # AI 文件
}

# 指定文件夹路径
folder_path = r"D:24-9-new"  # 修改为你的文件夹路径

# 创建目标文件夹(如果不存在)
for folder_name in file_types.keys():
    file_type_folder = os.path.join(folder_path, folder_name)
    os.makedirs(file_type_folder, exist_ok=True)  # 使用 exist_ok=True 避免重复检查

# 遍历指定文件夹中的文件,按类型分类
for filename in os.listdir(folder_path):
    file_path = os.path.join(folder_path, filename)

    if os.path.isfile(file_path):
        file_extension = os.path.splitext(filename)[1].lower()

        for category, extensions in file_types.items():
            if file_extension in extensions:
                destination = os.path.join(folder_path, category, filename)

                # 检查是否已经存在文件
                if not os.path.exists(destination):
                    shutil.move(file_path, destination)
                    print(f"文件 {filename} 已移动到 {category} 文件夹。")
                else:
                    print(f"文件 {filename} 已存在于 {category} 文件夹,跳过移动。")
                break

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注