Menggunakan ExifTool untuk Operasi Massal

0

Saya ingin mendapat bantuan, silakan dengan ExifTool, untuk operasi berikut:

  1. Saya memiliki ribuan gambar yang tersebar di berbagai sub-folder. Semua sub-folder bersarang di bawah folder induk tunggal. Bagaimana cara saya memberi tahu ExifTool untuk menerapkan perubahan pada semua file?

  2. Yang ingin saya lakukan secara khusus adalah "memotong" setiap nilai di bawah tag EXIF ​​"Hak Cipta", dan "menempelkannya" ke tag EXIF ​​"UserComment". Saya ingin ini untuk semua foto sekaligus, dan setiap foto harus menjaga nilainya masing-masing (hanya sekarang di bawah tag yang berbeda), tentu saja. Sekali lagi, tidak semua foto memiliki nilai di bidang "Hak Cipta", saya menganggap itu akan diabaikan oleh perangkat lunak.

  3. Akhirnya, saya akan ExifTool untuk menghapus setiap kemungkinan metadata tetapi nilai-nilai yang baru dibuat di bawah tag "Komentar".

Bantuan dan pedoman akan sangat dihargai.

Terima kasih!

voronoi
sumber

Jawaban:

1

Coba perintah ini:
exiftool -r -all:all= -tagsfromfile @ "-UserComment<Copyright" <DIR>

-radalah opsi untuk kembali ke subdirektori
-all:all=akan menghapus semua
-TagsFromFile @tag metadata salinan yang terdaftar setelah opsi ini dari file saat ini kembali ke file "-UserComment<Copyright"Setelah TagFromFile, itu akan menyalin Copyrighttetapi mengarahkan ulang ke UserCommenttag.

Pastikan dan mengujinya terlebih dahulu tentunya. Perintah ini akan membiarkan file cadangan _originalditambahkan ke ekstensi. Anda dapat mencegah ini setelah Anda memastikan bahwa perintahnya benar dengan menambahkan -overwrite_original.

StarGeek
sumber
Terima kasih @StarGeek! Namun beberapa pertanyaan: 1. Menulis -all:al=sebelumnya -tagsfromfiletidak akan menghasilkan hilangnya semua metadata pertama? (maka ExifTool tidak akan memiliki tag untuk disalin). 2. Saya kira di <DIR>mana saya memasukkan direktori lengkap folder induk?
voronoi
1
Itu masih akan memiliki semua data yang tersedia karena mencari cara untuk memproses perintah. Itu tidak langsung membuang semua data ketika mendapat -all:all=pilihan. Itu hanya tidak menulis semua data ketika menulis ulang file. Ya, <DIR>adalah path ke direktori target Anda, apakah itu path lengkap, path relatif, atau hanya sebuah titik .untuk direktori saat ini.
StarGeek
Terima kasih banyak @StarGeek, perintah Anda berhasil dengan indah (saya mengubah tanda <> di DIR menjadi tanda kutip). Pada akhir proses, ExifTool mengatakan bahwa: 17 image files unchanged 1 files weren't updated due to errors Bagaimana saya bisa memeriksa file mana yang dibiarkan tidak berubah atau tidak diperbarui (dan karena kesalahan apa tepatnya)? Terima kasih!
voronoi
File yang memiliki kesalahan seharusnya memiliki penjelasan di output. File yang tidak berubah akan menjadi file yang sudah memiliki semua data yang dilucuti dan tidak ada perubahan UserComment, atau tidak memiliki data untuk dihapus dan tidak mengambil metadata EXIF, seperti file BMAP. Coba redirect output ke file jika ada lebih dari yang dapat Anda baca di baris perintah. Tambahkan -progressatau -v2untuk mendapatkan informasi yang lebih luas.
StarGeek
Hai @StarGeek, saya menambahkan dua perintah yang Anda sarankan. Saya masih tidak tahu file apa yang tidak diproses, dalam kedua kasus. Dalam kedua kasus saya menyalin seluruh output ke Notepad ++ 1. Menambahkan -progresssetelah -rtampaknya tidak membuat banyak perbedaan dalam hal output dibandingkan dengan perintah awal Anda. 2. -v2setelah -rmenghasilkan ribuan baris teks tambahan, dan tanpa mengetahui secara spesifik apa yang harus diketik dalam bidang pencarian, tidak ada cara untuk menemukan apa yang saya cari. Apakah ada cara pasti untuk menemukan file bermasalah apa? Apakah ada sintaks berulang jika terjadi kesalahan?
voronoi