exiftool: hapus data exif tetapi simpan beberapa tag tertentu

10

Saat ini saya menggunakan exiftool dengan opsi -all = 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 foto, keterangan dan kata kunci.

Bagaimana saya bisa mencapai ini?

Sunny Reborn Pony
sumber

Jawaban:

7

Anda harus selalu memeriksa halaman manual jika Anda dalam kesulitan.

man exiftools

Yang seharusnya membaca 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 tag benar-benar dinamai dengan cara ini menggunakan 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, (Anda tentu saja dapat mengganti dengan file tetap di sini seperti -tagsFromFile pic.jpg) dan menulisnya ke tujuan.

Baarn
sumber
PS tulisan saya juga dihapus (dengan parameter -caption), apakah ada cara untuk menyimpannya?
Remus Rigo
1

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 -tagsFromFileberalih, tetapi <untuk memberi tahu untuk mentransfernya di sepanjang file.

Catatan: Sampai sekarang (versi 10.79) -common<commontidak dapat menetapkan tag komposit dan karenanya menggunakan -commonuntuk mentransfer tag akan merusak beberapa hal, misalnya transfer Flashke Model. Karena itu, kode saya eksplisit dan menyertakan setiap tag yang -commonbiasanya disertakan. Sepertinya 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 perhatikan juga bahwa kode saya bertentangan dengan dokumentasi aplikasi exiftool , yang mencakup sampel yang tidak bisa saya kerjakan dengan tugas ini (dan versi 10.79).

flolilo
sumber
-3

Untuk menghapus semua data menggunakan alat exif:

Ganti nama exiftool(-k).exemenjadi

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

Ini memecahkan banyak masalah

Halo
sumber