如何用ExifTool递归给PNG文件名追加chad-score格式的aesthetic_score元数据
解决方案:使用ExifTool批量递归重命名PNG文件
可以直接通过ExifTool的命令行实现需求,无需GUI工具。以下是具体命令和说明:
核心命令
exiftool -r -ext png "-FileName<${FileName;s/\.png$/-chad-score-${Aesthetic_score;$_=int($_*10)}.png/}" -if "$Aesthetic_score" .
参数解释
-r:递归处理目标目录下的所有子目录-ext png:仅筛选处理PNG格式文件-FileName<...:定义新文件名的生成规则${FileName;s/\.png$/-chad-score-${Aesthetic_score;$_=int($_*10)}.png/}:对原文件名进行替换,将.png后缀替换为-chad-score-XX.png,其中XX由Aesthetic_score值乘以10后取整得到(如7.0转为70)${Aesthetic_score;$_=int($_*10)}:完成分数值的转换逻辑
-if "$Aesthetic_score":仅处理包含Aesthetic_score元数据字段的文件,无该字段的文件会被自动跳过.:指定处理当前目录,可替换为具体的目标目录路径(如/home/user/images)
预览运行(安全验证)
如果想先确认重命名效果而不实际修改文件,可以添加-n参数预览结果:
exiftool -r -ext png "-FileName<${FileName;s/\.png$/-chad-score-${Aesthetic_score;$_=int($_*10)}.png/}" -if "$Aesthetic_score" -n .
注意事项
- ExifTool默认会给原文件创建后缀为
_original的备份,若不需要备份,可添加-overwrite_original参数(建议先备份文件后再使用此参数) - 确保已安装ExifTool:Linux可通过包管理器(如
apt install libimage-exiftool-perl)安装,Windows可下载解压后将程序路径添加到系统环境变量 - 若
Aesthetic_score为非整数(如7.5),命令会自动取整为75,符合XX的格式要求
内容的提问来源于stack exchange,提问作者Konverts
相关产品推荐
相关产品推荐

