web-dev-qa-db-ja.com

exiftool:exifデータを削除しますが、特定のタグは保持します

現在、私はexiftoolを-all =オプションとともに使用しており、写真からすべてのEXIFデータを削除します。

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

ここで、exiftoolですべてのEXIF情報を削除しますが、写真のタイトル、キャプション、キーワードは削除しません。

どうすればこれを達成できますか?

10

問題が発生した場合は、常にマニュアルページを確認する必要があります。

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のような固定ファイルに置き換えることができます)、宛先に書き込みます。

7
Baarn

元のファイルから特定のタグのみを削除する場合(つまり、ファイル間でタグから転送するのではなく、同じファイル内から)、-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)。

1
flolilo