我正在尝试从 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
)或复合标签(Aperture
、ShutterSpeed
)。在这种情况下FileSize
,您显然不能任意更改目标文件的大小,因此会出现错误filesize is not writable
。
对于 Makernotes 标签,它们无法单独复制或创建。必须将其作为块进行复制-MakerNotes
。您可能没有尝试复制Quality
标签,但当涉及到复合标签时,这一点就变得相关了。
复合标签不是文件中的标签。它们来自多个其他标签。 Aperture
和ShutterSpeed
是两个示例。您无法将它们复制到另一个文件,因为它们单独存在。您必须复制它们所基于的标签。 Aperture
基于FNumber
或ApertureValue
,具体取决于文件中实际包含哪个。 ShutterSpeed
基于ExposureTime
、 ShutterSpeedValue
和/或BulbDuration
。要正确“复制”Aperture
和ShutterSpeed
,您必须复制它们所基于的上述标签。其中一些标签可能只存在于 MakerNotes 中,因此您必须复制整个 Makernotes
ICC_Profile
-ICC_Profile
被视为“不安全”标签,除非明确列出,否则不会被复制。您可能必须将其作为块进行复制,-ICC_Profile:all
因为其中的一些单个标签不可ICC_Profile
写。
tl;dr:exiftool 命令没有任何问题,它只是没有执行您所想的操作。