
当需要提取大量的图片名称时,还在一个一个复制粘贴吗?
上一期分享了VBA获取图片名称的做法,我们还可以通过 Windows 批处理脚本(.BAT 文件)批量获取图片名称,来看看具体是怎么操作的吧!

假设桌面有一个文件夹,里面存放了很多图片,需要提取这些图片的名称,我们可以这样做!

01 创建文本文档
新建一个TXET文本文档,并打开该TEXT文档。
02 编写批处理脚本:
使用以下脚本来列出指定目录及其子目录中所有图片文件的文件名,并将这些文件名输出到一个文本文件中。
@echo off
setlocal enabledelayedexpansion
REM 设置存放图片的目录路径
set "folder_path=E:\桌面\图片"
REM 初始化输出文件的完整路径
set "output_file=%folder_path%\image_names.txt"
del "%output_file%" 2>nul
REM 切换到指定目录,检查目录是否存在
if not exist "%folder_path%" (
echo 文件夹 %folder_path% 不存在。
exit /b
)
REM 遍历指定目录中的所有 JPG 和 PNG 文件
pushd "%folder_path%"
for %%i in (*.jpg *.jpeg *.png) do (
REM 输出文件名(带扩展名)
echo %%~nxi >> "%output_file%"
)
popd
echo 图片文件名已保存至 "%output_file%"

03 调整:
修改 `folder_path` 变量,指向实际的图片目录,也就是我们存放图片的路径。可根据需要调整 `for` 循环中的文件扩展名(`*.jpg *.jpeg *.png`)来包括其他图片格式。
04 运行 BAT 脚本:
保存文本文档,并将扩展名更改为“.bat”,接着,双击运行 `.bat` 文件来执行脚本。
它将生成一个 `image_names.txt` 文件,并存放在当前的文件夹里,其中包含指定目录及其子目录中所有 JPG、JPEG 和 PNG 图片的文件名。


05 导入到 Excel:
打开 Excel,使用 Excel 的数据导入功能,点击【数据】,选择“从文本/CSV”,找到目标文件所在位置,导入 `image_names.txt` 文件。
图片名称即可全部导入Excel表格中,再做适当的调整就好了。


【拓展】脚本说明:
@echo off`:禁止显示执行前的每条命令。
setlocal enabledelayedexpansion`:启用延迟环境变量扩展,以便在循环中处理变量。
set "folder_path=..."`:指定存放图片的目录路径。请将 ` E:\桌面\图片` 替换为实际的文件夹路径。
cd /d "%folder_path%"`:将当前目录切换到指定的文件夹路径。
set "output_file=image_names.txt"`:定义输出文件名(本例中是 `image_names.txt`),可根据需要自行更改。
for /r %%i in (*.jpg *.jpeg *.png) do (...)`:递归地(`/r`)遍历指定目录中的所有 JPG、JPEG 和 PNG 文件(`*.jpg *.jpeg *.png`)。
echo %%~nxi >> "%output_file%"`:将文件名(`%%~nxi`)追加到输出文本文件(`image_names.txt`)中。
通过以上步骤,我们可以使用简单的批处理脚本批量获取图片文件名,并将其导入到 Excel 中进行进一步处理。