ExifTool:删除除特定标签之外的所有元数据

ExifTool:删除除特定标签之外的所有元数据

我正在尝试从 JPEG 文件中删除所有元数据,除了列出的常见照片标签exiftool -common(相机型号、快门速度、光圈、ISO 等)、镜头型号、色彩空间和嵌入的 ICC 配置文件。

使用问题的答案exiftool:删除 exif 数据但保留一些特定标签,将生成以下命令。问题是,它们都会导致删除快门速度、光圈和嵌入的 ICC 配置文件,这可以通过使用exiftool相应的标志进行验证。

exiftool -all= -tagsFromFile @ -common -LensModel -ColorSpace -icc_profile:all original.JPG

exiftool -all= -tagsFromFile @ -common -aperture -ShutterSpeed -LensModel -ColorSpace -icc_profile:all original.JPG

它们都发出警告:

Warning: Sorry, filesize is not writable

这些命令是否格式错误,或者这是 ExifTool 的一个错误?此行为已在 ExifTool 版本 10.40 上得到确认。

答案1

Common更像是一个数据收集标签,它实际上并不是用于将信息从一个文件复制到另一个文件(请参阅快捷方式标签包含标签列表)。该快捷方式涵盖的许多标签都是文件系统标签(FileSize)、MakerNotes 标签(Quality)或复合标签(ApertureShutterSpeed)。在这种情况下FileSize,您显然不能任意更改目标文件的大小,因此会出现错误filesize is not writable

对于 Makernotes 标签,它们无法单独复制或创建。必须将其作为块进行复制-MakerNotes。您可能没有尝试复制Quality标签,但当涉及到复合标签时,这一点就变得相关了。

复合标签不是文件中的标签。它们来自多个其他标签。 ApertureShutterSpeed是两个示例。您无法将它们复制到另一个文件,因为它们单独存在。您必须复制它们所基于的标签。 Aperture基于FNumberApertureValue,具体取决于文件中实际包含哪个。 ShutterSpeed基于ExposureTimeShutterSpeedValue和/或BulbDuration。要正确“复制”ApertureShutterSpeed,您必须复制它们所基于的上述标签。其中一些标签可能只存在于 MakerNotes 中,因此您必须复制整个 Makernotes

ICC_Profile-ICC_Profile被视为“不安全”标签,除非明确列出,否则不会被复制。您可能必须将其作为块进行复制,-ICC_Profile:all因为其中的一些单个标签不可ICC_Profile写。

tl;dr:exiftool 命令没有任何问题,它只是没有执行您所想的操作。

相关内容