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

基于图片名称批量创建文件夹并自动归类图片的方案咨询

图片自动归类到对应文件夹的实现方案

你已经完成批量创建文件夹的功能,接下来只需从图片名称提取前缀,将对应图片移动到目标文件夹即可,以下是两种实用实现方案:

方案1:Python脚本(灵活易扩展)

适合有基础或快速上手的场景,可打包成独立exe程序。

实现逻辑

  1. 读取Excel/Word中的图片名称列表
  2. 遍历每个图片名,按-分割提取前缀(如ABC-image-main提取ABC)
  3. 校验目标文件夹是否存在(兜底判断,避免报错)
  4. 剪切图片到对应前缀文件夹

代码示例

import os
import shutil
import pandas as pd

# 替换为你的实际路径
source_folder = "D:/ProductImages"
excel_path = "D:/ImageList.xlsx"
sheet_name = "Sheet1"  # 图片名称所在的工作表

# 读取Excel中的图片名称(假设名称在第一列)
df = pd.read_excel(excel_path, sheet_name=sheet_name)
image_names = df.iloc[:, 0].tolist()

for img_name in image_names:
    # 提取前缀
    prefix = img_name.split('-')[0]
    target_folder = os.path.join(source_folder, prefix)
    
    # 确保目标文件夹存在
    if not os.path.exists(target_folder):
        os.makedirs(target_folder)
    
    # 构建文件路径
    source_path = os.path.join(source_folder, img_name)
    target_path = os.path.join(target_folder, img_name)
    
    # 执行剪切
    if os.path.exists(source_path):
        shutil.move(source_path, target_path)
        print(f"已移动:{img_name} -> {target_folder}")
    else:
        print(f"跳过:文件不存在 - {source_path}")

打包成可执行程序

  1. 安装打包工具:pip install pyinstaller
  2. 执行打包命令:pyinstaller --onefile --windowed your_script_name.py
  3. 生成的exe文件在dist文件夹中,可直接运行

方案2:Windows批处理脚本(无需额外环境)

适合Windows系统下快速实现,无需安装Python。

前置准备

将Excel/Word中的图片名称导出为文本文件(ImageList.txt),每行一个图片名称。

脚本代码

@echo off
setlocal enabledelayedexpansion

:: 替换为你的实际路径
set "source_folder=D:\ProductImages"
set "list_file=D:\ImageList.txt"

for /f "delims=" %%i in (%list_file%) do (
    :: 提取前缀(按'-'分割)
    for /f "delims=-" %%p in ("%%i") do (
        set "target_folder=!source_folder!\%%p"
        :: 创建目标文件夹(如果不存在)
        if not exist "!target_folder!" mkdir "!target_folder!"
        :: 移动文件
        if exist "!source_folder!\%%i" (
            move "!source_folder!\%%i" "!target_folder!"
            echo 已移动:%%i -> !target_folder!
        ) else (
            echo 跳过:文件不存在 - !source_folder!\%%i
        )
    )
)

endlocal
pause

使用方法

  1. 将代码保存为SortImages.bat
  2. 修改source_folder和list_file的路径为你的实际路径
  3. 双击运行bat文件即可

注意事项

  • 操作前务必备份所有图片,避免意外丢失
  • 确保所有图片名称的前缀分割规则统一(均以-作为分隔符)
  • 如果图片名称包含特殊字符,优先使用Python方案处理

内容的提问来源于stack exchange,提问作者Jess Murray

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:01:02