从版本10.47开始,Exiftool现在可以执行此操作。
在我的测试中,我看到了json文件名的两种不同格式,有的格式
filename.ext.json和有的格式(json文件名中
filename.json没有扩展名)。这里有两个命令可以解决这两种情况。如果像我一样混合使用,请同时运行。
json文件名中带有扩展名的文件
exiftool -tagsfromfile '%d/%F.json' '-ImageTag<JsonTag' FileOrDir
json文件名中没有扩展名的文件
exiftool -tagsfromfile '%d/%f.json' '-ImageTag<JsonTag' FileOrDir
用
FileOrDir您要处理的文件或目录替换。替换
ImageTag为要复制到的图像中标签的名称。替换
JsonTag为您要复制的json文件中标签的名称。如果您使用的是Windows而不是Linux,请使用双引号而不是单引号。
这是我在json文件中遇到的一些更有用的标签,以及将它们复制到哪里的建议。标签名称中的两个(描述和标题)与相关的XMP标签相同,因此无需将其重定向到图像标签名称,可以简单地用上述命令
-Description或
-Title在命令中保留。
description :文件描述。适当的放置位置是IPTC:Caption-
Abstract,XMP:Description和EXIF:ImageDescription。你可以用复制这些
'-Caption-Abstract<Description',
-Description或
'-ImageDescription<Description'。
title :上传文件的名称。这可以被复制到
Title,
ObjectDescription或
PreservedFileName。
人
:不确定,但是我猜测如果文件中有人在Picasa之类的程序中标记了人,则这将是名称列表,很可能来自
RegionPersonDisplayName。
url :这是可以从中下载图像的URL。警告:这是一个公共共享的URL,即使该图像被标记为私有,仍可以使用该URL下载。
GeoInfoAltitude_ , GeoInfoLatitude_ 和 GeoInfoLongitude_
:如果上载的文件已进行地理标记,则这些将是图像的高度,纬度和经度。这些将最好复制到
GPSAltitude,
GPSLatitude,
GPSLatitudeRef,
GPSLongitude,和
GPSLongitudeRef。由于GPS标签(无符号),图像是在西方和/或南半球的性质
必须 也设置了Ref标签。
示例命令:
复制gps标签
exiftool -tagsfromfile '%d/%F.json' '-GPSAltitude<GeoInfoAltitude_''-GPSLatitude<GeoInfoLatitude_' '-GPSLatitudeRef<GeoInfoLatitude_''-GPSLongitude<GeoInfoLongitude_' '-GPSLongitudeRef<GeoInfoLongitude_'FileOrDir
复制关键字
exiftool -tagsfromfile '%d/%F.json' '-Keywords<Tags' '-Subject<Tags'FileOrDir
复制说明
exiftool -tagsfromfile '%d/%F.json' '-Caption-Abstract<Description''-ImageDescription<Description' -Description FileOrDir
编辑(2018年1月):谷歌将一如既往地改变一切。上面的 GeoInfo 标签已根据以下注释弃用,并已由 GeoDataAltitude
, GeoDataLatitude 和 GeoDataLongitude取代* 。
Exiftool可以读取Json文件,因此,如果有其他更改,运行命令
exiftool -s FILE.Json将列出所有可以复制的标签和可用数据。



