Pertanyaan exiftool: hapus data exif tetapi pertahankan beberapa tag spesifik


Saat ini saya menggunakan exiftool dengan -all = pilihan dan menghapus semua data EXIF ​​dari foto saya:

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

Sekarang saya ingin exiftool untuk menghapus semua informasi EXIF ​​tetapi BUKAN judul, keterangan, dan kata kunci foto.

Bagaimana saya bisa mencapai ini?


8
2017-07-19 08:20


asal




Jawaban:


Anda harus selalu memeriksa halaman manual jika Anda bermasalah.

man exiftools

Yang seharusnya membaca sesuatu seperti ini:

--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.

Sesuatu seperti:

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

harus bekerja. Pastikan bahwa tag benar-benar diberi nama dengan cara ini exif /path/to/file.jpg.

Apa perintahnya? -all= menghapus semua tag, -tagsFromFile @ mengambil bendera yang terdaftar dari file sumber, dalam hal ini @ mewakili file saat ini, (tentu saja Anda dapat mengganti dengan file yang tetap di sini seperti -tagsFromFile pic.jpg) dan menuliskannya ke tujuan.


5
2017-07-19 09:15



ini sangat membantu saya, terima kasih - Remus Rigo
PS caption saya juga terhapus (dengan parameter -caption), adakah cara untuk menyimpannya? - Remus Rigo


Jika Anda hanya ingin menghapus tag tertentu dari file asli (yaitu tidak ada transfer dari tag di antara file, tetapi dari dalam file yang sama), Anda tidak perlu -tagsFromFile beralih, tetapi a < untuk memberi tahu untuk mentransfernya di sepanjang file.

catatan: Mulai sekarang (versi 10.79) -common<common tidak bisa diatur tag gabungan dan karena itu menggunakan -common untuk mentransfer tag akan merusak banyak hal, mis. tranferring Flash untuk Model. Oleh karena itu, kode saya bersifat eksplisit dan mencakup setiap tag itu -common biasanya termasuk. Tampaknya itu ide yang bagus.

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

Harap juga dicatat bahwa kode saya bertentangan dengan dokumentasi aplikasi exiftool, yang mencakup sampel yang saya tidak bisa bekerja dengan tugas ini di tangan (dan versi 10.79).


1
2018-02-17 18:36





Untuk menghapus semua data menggunakan alat exif:

Ganti nama exiftool(-k).exe untuk

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

Ini memecahkan banyak masalah


-3
2017-07-16 16:59