如何使用 exiftool 将元数据从源图像批量复制到目标图像?
How to batch copy metadata from source images to target images with exiftool?
图片位于 C:/photo 内的文件夹中。
我在其子文件夹和自身中有原始图像和压缩图像。
以下是图像组织方式的示例:
C:/photo/photo1.jpg
C:/photo/photo1_compressed.jpg
C:/photo/folder1/photo2.jpg
C:/photo/folder1/photo2_compressed.jpg
C:/photo/folder1/photo3.jpg
C:/photo/folder1/photo3_compressed.jpg
C:/photo/folder2/photo4.jpg
C:/photo/folder2/photo4_compressed.jpg
C:/photo/folder2/folder3/photo5.jpg
C:/photo/folder2/folder3/photo5_compressed.jpg
后缀为_compressed
的图片为无后缀同名原图压缩版
我如何使用 exiftool 递归地将元数据从原始图像复制到其压缩副本?只复制一个标签或几个选定的标签怎么样?
你的命令是:
exiftool -if "$Filename=~/_compressed/i" -r -TagsFromFile %d%-.11f.%e -All:All C:\photo
此命令将处理 C:\photo
中的文件,检查以确保名称中包含 _compressed
,并从文件末尾减去 11 个字符的相同名称复制所有标签文件的基本名称。
因为要递归,不能使用通配符只处理压缩文件(见Exiftool Common Mistake #2和
-r
(-recurse
) option).
如果您只想复制特定标签,您可以将 -All:All
替换为 -TAG1
-TAG2
… -TAGn
,将 TAG#
替换为实际标签名字。
此命令不会复制某些标签,例如ICC_Profile
。您可以通过在 -TagsFromFile
选项后添加 -ColorSpaceTags
来复制颜色相关标签。
此命令创建备份文件。添加 -overwrite_original
以禁止创建备份文件。如果此命令在 Unix/Mac 下 运行,请反转任何 double/single 引号以避免 bash 解释。
图片位于 C:/photo 内的文件夹中。
我在其子文件夹和自身中有原始图像和压缩图像。
以下是图像组织方式的示例:
C:/photo/photo1.jpg
C:/photo/photo1_compressed.jpg
C:/photo/folder1/photo2.jpg
C:/photo/folder1/photo2_compressed.jpg
C:/photo/folder1/photo3.jpg
C:/photo/folder1/photo3_compressed.jpg
C:/photo/folder2/photo4.jpg
C:/photo/folder2/photo4_compressed.jpg
C:/photo/folder2/folder3/photo5.jpg
C:/photo/folder2/folder3/photo5_compressed.jpg
后缀为_compressed
的图片为无后缀同名原图压缩版
我如何使用 exiftool 递归地将元数据从原始图像复制到其压缩副本?只复制一个标签或几个选定的标签怎么样?
你的命令是:
exiftool -if "$Filename=~/_compressed/i" -r -TagsFromFile %d%-.11f.%e -All:All C:\photo
此命令将处理 C:\photo
中的文件,检查以确保名称中包含 _compressed
,并从文件末尾减去 11 个字符的相同名称复制所有标签文件的基本名称。
因为要递归,不能使用通配符只处理压缩文件(见Exiftool Common Mistake #2和
-r
(-recurse
) option).
如果您只想复制特定标签,您可以将 -All:All
替换为 -TAG1
-TAG2
… -TAGn
,将 TAG#
替换为实际标签名字。
此命令不会复制某些标签,例如ICC_Profile
。您可以通过在 -TagsFromFile
选项后添加 -ColorSpaceTags
来复制颜色相关标签。
此命令创建备份文件。添加 -overwrite_original
以禁止创建备份文件。如果此命令在 Unix/Mac 下 运行,请反转任何 double/single 引号以避免 bash 解释。