如何用Exiftool或脚本从同名TXT导入关键词至IPTC元数据
批量将AI生成的关键词导入图片IPTC元数据方案
针对百万级分散在不同文件夹的图片,以下提供两种高效的批量处理方法,将同名TXT文件中的AI生成关键词导入IPTC元数据,支持Adobe Bridge关键词检索:
方法一:使用Exiftool批处理命令
Exiftool是轻量高效的元数据处理工具,适合大规模文件批量操作。
操作步骤
- 确保Exiftool已安装并可在命令行调用(Windows需配置环境变量,Mac/Linux可通过包管理器安装)
- 执行以下批处理命令:
Windows 批处理脚本(保存为ImportKeywords.bat)
@echo off :: 递归处理当前目录及子文件夹下的主流图片格式 exiftool -r -ext jpg -ext jpeg -ext png -ext tiff "-IPTC:Keywords<=%.txt" . echo 处理完成 pause
Mac/Linux Shell脚本(保存为ImportKeywords.sh,赋予执行权限chmod +x ImportKeywords.sh)
#!/bin/bash # 递归处理当前目录及子文件夹下的主流图片格式 exiftool -r -ext jpg -ext jpeg -ext png -ext tiff "-IPTC:Keywords<=%.txt" . echo "处理完成"
参数说明
-r:递归遍历所有子文件夹-ext [格式]:指定需要处理的图片格式,可按需添加/删除"IPTC:Keywords<=%.txt":读取与图片同名的TXT文件内容,写入IPTC关键词字段;TXT内关键词建议用逗号/分号/换行分隔,Exiftool会自动拆分多关键词.:表示从当前目录开始处理,可替换为具体根文件夹路径
注意事项
- 处理前务必备份小批量图片做测试,避免元数据丢失
- 百万级文件处理耗时较长,建议在高性能机器上运行,可拆分多个根文件夹分批次处理
方法二:Adobe Bridge JavaScript脚本
适合熟悉Bridge操作的用户,可在Bridge可视化环境中完成处理。
脚本代码(保存为ImportAIKeywords.jsx)
#target bridge // 让用户选择要处理的根文件夹 var rootFolder = Folder.selectDialog("选择图片所在的根文件夹"); if (!rootFolder) { alert("未选择文件夹,脚本终止"); exit(); } // 定义需要处理的图片格式 var supportedImageExts = [".jpg", ".jpeg", ".png", ".tiff", ".tif"]; var txtExt = ".txt"; // 递归处理文件夹函数 function traverseFolder(currentFolder) { var allItems = currentFolder.getFiles(); for (var i = 0; i < allItems.length; i++) { var item = allItems[i]; if (item instanceof Folder) { // 递归处理子文件夹 traverseFolder(item); } else { var fileExt = item.name.toLowerCase().substr(item.name.lastIndexOf(".")); if (supportedImageExts.indexOf(fileExt) !== -1) { // 拼接对应TXT文件路径 var txtFilePath = item.path.slice(0, item.path.lastIndexOf(".")) + txtExt; var txtFile = new File(txtFilePath); if (txtFile.exists) { // 读取TXT文件内容 txtFile.open("r"); var rawKeywords = txtFile.read(); txtFile.close(); // 拆分关键词并去空去重 var keywordList = rawKeywords.split(/[,;\n]/) .map(k => k.trim()) .filter(k => k.length > 0); // 写入IPTC关键词元数据 var imgMetadata = item.synchronousMetadata; imgMetadata.keywords = keywordList; item.synchronousMetadata = imgMetadata; } } } } } // 执行处理 traverseFolder(rootFolder); alert("关键词导入完成!");
使用说明
- 打开Adobe Bridge,依次点击「编辑」>「编辑脚本」
- 将上述代码粘贴到脚本编辑器,保存为
.jsx格式文件 - 运行脚本,选择目标根文件夹,等待处理完成
注意事项
- Bridge处理大规模文件时需占用较多内存,建议关闭其他占用资源的程序
- 可将大文件夹拆分为多个子文件夹分批次处理,提升效率
内容的提问来源于stack exchange,提问作者grasycho
相关产品推荐
相关产品推荐

