在电商库存管理、摄影作品归档、论文图片整理等场景中,将大量图片文件名批量提取并导入Excel是高频需求。本文围绕“怎么把图片名字导入excel”这一核心问题,从底层文件系统遍历原理出发,提供从纯命令行动态方案到图形化静态方案的完整解析,并对各方案的时间成本与操作门槛进行横向对比。

百家号头图### 方案一:Python脚本实现批量提取与写入

对于具备Python环境的开发者,使用标准库是实现该功能最高效、可定制性最强的途径。

1. 核心原理:os.listdir() 与文件过滤

Python的os模块直接调用操作系统底层的目录遍历接口。os.listdir(path)返回指定路径下所有条目名称(包含文件与目录),随后通过os.path.isfile()过滤掉子目录,再通过endswith()元组参数匹配图片扩展名(如.jpg, .png, .tiff)。

2. 标准化输出:CSV格式与Excel的兼容性

考虑到Excel对CSV(逗号分隔值)文件的原生支持,代码直接生成CSV会比生成XLSX更轻量,且无需安装第三方库pandasopenpyxl。关键点在于写入时必须显式指定编码为utf-8-sig(带BOM),否则Excel打开UTF-8编码的CSV时默认按ANSI解析,会产生中文文件名乱码。

import os

def export_image_names(folder_path, output_csv):
    allowed_ext = ('.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp')
    with open(output_csv, 'w', encoding='utf-8-sig') as f:
        # 写入表头,作为Excel列名
        f.write('文件名,完整路径\n')
        for name in os.listdir(folder_path):
            full_path = os.path.join(folder_path, name)
            if os.path.isfile(full_path) and name.lower().endswith(allowed_ext):
                # 转义CSV特殊字符(逗号、引号)
                safe_name = name.replace('"', '""')
                safe_path = full_path.replace('"', '""')
                f.write(f'"{safe_name}","{safe_path}"\n')
    print(f'处理完成,共导出至: {output_csv}')

export_image_names(r'D:\商品图片素材', r'D:\output_image_list.csv')

方案二:使用汇帮文件名提取器进行图形化批量操作

1. 模块定位与技术逻辑

该工具的核心模块为“文件名提取”,其内部逻辑与Python脚本一致——遍历目录获取文件名,但在此基础上增加了两个实用处理分支:是否保留扩展名,以及是否附带文件元数据(如创建时间、修改时间、文件大小)

2. 详细操作流程

为帮助读者在操作前理解每一步的底层动作,以下步骤将同时标注界面操作与对应的文件系统逻辑。

步骤1:新建提取任务

打开软件主界面,点击首页核心功能区中的 文件名提取 模块。此操作相当于在代码中实例化一个文件遍历对象。

图片##### 步骤2:导入图片文件

点击 添加文件 按钮,或在文件夹中多选图片后直接拖拽至软件窗口。软件内部采用异步IO读取目录项,即使包含数千个文件的目录,也不会阻塞界面线程。支持格式包括JPG、PNG、BMP、GIF等常见位图格式。

图片##### 步骤3:设置输出目录与文件名

点击顶部的 存储位置 路径选择框,指定生成的Excel文件存放目录。值得注意的是,输出路径与源图片目录不可为同一路径,以免提取过程中生成的临时文件被重复遍历。

图片##### 步骤4:自定义Excel工作表名称

文件名称 输入框中,可重新定义生成的Excel文件名。默认命名为 文件名提取结果,建议添加业务日期后缀(如 商品图清单_20240520)以便版本管理。

图片##### 步骤5:配置附加信息字段

勾选需要提取的补充属性列:

  • 后缀名:输出文件扩展名
  • 文件路径:输出完整绝对路径(对应Python方案中的full_path
  • 文件大小:显示文件字节数(可辅助排查空文件或异常文件)
  • 创建时间 / 修改时间:读取NTFS文件系统中的标准时间属性

图片##### 步骤6:执行提取操作

点击底部 开始提取 按钮,软件状态栏将显示进度条。

图片完成后自动打开输出目录,此时可校验生成的Excel文件(*.xlsx)。打开后,A列即为图片名称,B列及其后列为步骤5中勾选的文件属性信息。

图片图片### 方案三:Excel内置“DIY工具箱”实现文件导入

部分Excel版本自带增强插件(如方方格子、Excel易用宝),无需外部软件,即可将图片物理插入单元格并同步标注文件名。

1. 操作路径

  • 在Excel选项卡中点击 DIY工具箱,选择 导入图片
  • 在弹出的对话框中选择 添加,全选目标图片文件(此步骤仅导入图片对象,并非文件名)。
  • 点击 打开 后,对话框将询问是否标注文件名,勾选 同时标注图片名 项。
  • 选择一个目标单元格区域(如A1),Excel将按事件触发机制,在插入图片对象的相邻单元格(B列)中写入图片名称。

2. 局限性说明

该方法本质上是将图片嵌入(Embedding)至工作表,而非纯粹的名称提取。若仅需名称列表,导入大量高清原图会导致工作簿体积膨胀至数百MB,且打开文件时渲染卡顿。该方案仅适用于需要在Excel内预览图片的场景。

方案四:BAT批处理命令空手提取

Windows系统自带的DIR命令结合重定向符,可零成本获取文件名,但同样存在编码与格式缺陷。

操作流程与原理

在目标文件夹内新建get_names.bat文件,写入 DIR . /B > LIST.TXT 并执行。该命令要求系统CMD解释器打开目录句柄,将每个文件的名字以ASCII编码逐行输出至文本文件。随后复制文本内容粘贴至Excel,A列即可展示文件名。

注意DIR.EXE 默认按系统ANSI代码页(中文系统为GBK)输出内容。若文件名包含Emoji或特殊Unicode字符,该方案输出的文本将出现?占位符,即产生不可逆的信息丢失。该方案仅适用于纯中文或纯英文命名的文件目录。

标签:

#图片文件名批量提取 #Excel表格管理 #文件名提取工具 #Python自动化 #办公效率