exiftool:删除 exif 数据但保留一些特定标签

exiftool:删除 exif 数据但保留一些特定标签

目前我使用 exiftool-全部=选项,它会从我的照片中删除所有 EXIF 数据:

exiftool -overwrite_original -all= /Users/andyl/photos/*.jpg

现在我想让 exiftool 删除所有 EXIF 信息,但不删除照片的标题、说明和关键字。

我怎样才能实现这个目标?

答案1

如果您遇到麻烦,您应该始终检查手册页。

man exiftools

内容如下:

--TAG

    Exclude specified tag from extracted information.  Same as the -x
    option.  May also be used following a -tagsFromFile option to
      exclude tags from being copied, or to exclude groups from being
    deleted when deleting all information (ie. "-all= --exif:all"
    deletes all but EXIF information).  But note that this will not
    exclude individual tags from a group delete.  Instead, individual
    tags may be recovered using the -tagsFromFile option (ie. "-all=
    -tagsfromfile @ -artist").  Wildcards are permitted as described
    above for -TAG.

就像是:

exiftool -overwrite_original -all= -tagsFromFile @ -title -caption -keywords /Users/andyl/photos/*.jpg

应该可以工作。确保标签确实是这样命名的,使用exif /path/to/file.jpg

该命令的作用是什么?-all=删除所有标签,-tagsFromFile @从源文件(在本例中@代表当前文件)中获取列出的标志(当然,您可以用这里的固定文件替换-tagsFromFile pic.jpg),然后将它们写入目标。

答案2

如果您只想从原始文件中删除某些标签(即,不在文件之间转移标签,而是在同一个文件内转移标签),则不需要开关-tagsFromFile,而是<告诉它们沿着文件传输。

笔记:截至目前(版本 10.79)-common<common无法设置复合标签因此使用-common来传输标签会破坏某些东西,例如传输FlashModel。因此,我的代码是明确的,并且包括通常包含的每个标签-common。无论如何,这似乎是个好主意。

exiftool -All:All= \
         -DateTimeOriginal<DateTimeOriginal \
         -Model<Model \
         -LensModel<LensModel \
         -FocalLength<FocalLength \
         -ISO<ISO \
         -ExposureTime<ExposureTime -ShutterSpeedValue<ShutterSpeedValue -BulbDuration<BulbDuration \
         -ApertureValue<ApertureValue -FNumber<FNumber \
         -WhiteBalance<WhiteBalance \
         -Flash<Flash \
         test.jpg
  # Or, if you want to use `-TagsFromFile`:
exiftool -All:All= \
         -TagsFromFile test.jpg \
         -DateTimeOriginal \
         -Model \
         -LensModel \
         -FocalLength \
         -ISO \
         -ExposureTime -ShutterSpeedValue -BulbDuration \
         -ApertureValue -FNumber \
         -WhiteBalance \
         -Flash \
         test.jpg

另请注意我的代码与exiftool 应用程序文档,其中包括一些我无法用手头任务(和版本 10.79)完成的样本。

答案3

要使用 exif 工具删除所有数据:

重命名exiftool(-k).exe

exiftool (-overwrite_original -all= -k).exe

这解决了很多问题

相关内容