某些类型的文件可以具有多种类型的元数据。例如,单个 JPEG 文件可以具有 Exif、IPTC 和 XMP 元数据。
无论平台如何,Exiftool 似乎是最强大的元数据提取和操作工具。
我发现 Exiftool 有很多选项并且支持我感兴趣的所有文件类型和所有元数据类型。
但是我找不到任何选项组合来列出每个文件具有的元数据类型,但不能转储所有元数据字段。
有没有办法将文件路径传递给 Exiftool 并返回其具有的元数据类型的列表?
答案1
您可以使用-api Filter
以下命令来禁止列出元数据字段
exiftool -G1 -a -s2 -api "Filter=s/.*//" /path/to/files/
请注意,这不会抑制标签的提取,它只是使用正则表达式替换来清除结果。最终结果将类似于 @rwat128 的结果,但没有列出实际数据。我还使用了-s2
选项使输出更紧凑,导致名称和冒号之间没有空格,冒号后没有任何内容。
答案2
为了列出文件具有的元数据类型,我使用以下命令:
exiftool -time:all -a -G0:1 -s C:\Users\Brubs\Downloads\test
您可以将“C:\Users\Brubs\Downloads\test”替换为文件或文件夹的直接绝对路径。
输出应如下所示:
======== C:/Users/Brubs/Downloads/test/moo - face.jpg
[File:System] FileModifyDate : 2019:05:25 12:29:15-04:00
[File:System] FileAccessDate : 2019:05:25 12:29:15-04:00
[File:System] FileCreateDate : 2019:05:25 12:29:13-04:00
[EXIF:IFD0] ModifyDate : 2014:08:12 00:15:26
[EXIF:ExifIFD] DateTimeOriginal : 2014:08:09 15:12:48
[EXIF:ExifIFD] CreateDate : 2014:08:09 15:12:48
[IPTC] DateCreated : 2014:08:09
[IPTC] TimeCreated : 15:12:48+00:00
[XMP:XMP-xmp] CreateDate : 2014:08:09 15:12:48
[XMP:XMP-xmp] ModifyDate : 2014:08:12 00:15:26-04:00
[XMP:XMP-xmp] MetadataDate : 2014:08:12 00:15:26-04:00
[XMP:XMP-photoshop] DateCreated : 2014:08:09 15:12:48
[XMP:XMP-xmpMM] HistoryWhen : 2014:08:11 11:25:56-04:00, 2014:08:11 11:25:56-04:00, 2014:08:12 00:02:36-04:00, 2014:08:12 00:06:02-04:00, 2014:08:12 00:09:34-04:00, 2014:08:12 00:15:26-04:00, 2014:08:12 00:15:26-04:00
[ICC_Profile:ICC-header] ProfileDateTime : 1998:02:09 06:49:00
[Composite] DateTimeCreated : 2014:08:09 15:12:48+00:00
======== C:/Users/Brubs/Downloads/test/n1246140036_30019422_9121.jpg
[File:System] FileModifyDate : 2019:06:11 17:04:40-04:00
[File:System] FileAccessDate : 2019:06:11 17:04:40-04:00
[File:System] FileCreateDate : 2019:05:26 06:29:06-04:00
1 directories scanned
2 image files read
如您所见,有些文件只有非常基本的 [File:System] 标签,而其他文件则有更多类似 [EXIF]、[IPTC] 和 [XMP] 标签。希望这对您有所帮助。