Sortir dan ganti nama gambar berdasarkan tanggal di info EXIF
9
Saya memiliki kekacauan di folder foto saya; Saya ingin mengurutkannya berdasarkan tanggal pada informasi EXIF dan mengganti nama berdasarkan tanggal (seperti 001.jpg, 002.jpg, dan seterusnya).
Bagaimana saya bisa melakukan ini di Linux? Saya telah menggunakan ImageMagick untuk beberapa tugas pemrosesan massal dasar sebelumnya (mengkonversi dan mengubah ukuran, dll), apakah mungkin untuk menggunakannya untuk tugas ini?
Di Linux Anda dapat menggunakan perintah exiftool . Untuk beberapa alasan manual online tidak mengandung bagian "CONTOH RENAMING" yang memberi saya petunjuk penting.
Untuk file JPG saja, pemanggilan perintah berikut harus melakukan pekerjaan:
'-FileName<CreateDate'memberitahu exiftool untuk mengganti nama file sesuai dengan tag EXIF-nya CreateDate(Anda dapat mencoba yang lain seperti itu ModifyDate)
-d '%Y-%m-%d/%H_%M_%S%%-c.%%le'memberitahu cara membuat string nama file dari sumber tanggal " CreateDate" (" %-c" akan menambahkan penghitung jika terjadi tabrakan file, " %le" singkatan dari "ekstensi file cased lebih rendah")
Catatan : Saya menggunakan " -FileName<..." di sini untuk mengubah nama file dan memindahkannya ke folder lain dalam satu langkah. Manual menunjukkan bahwa Anda harus menggunakan -Directory<...sintaks " " untuk operasi folder. Ini bekerja untuk saya dengan cara ini.
Anda harus meluangkan waktu membaca manual alat yang ampuh ini. Mungkin ada cara yang lebih pendek: D
Cara paling sederhana adalah dengan hanya mengimpor file ke jbrout ... lalu (opsional) semua file dapat diubah namanya menjadi sesuatu yang berorientasi waktu. Atau Anda mungkin menemukan, bahwa Anda tidak perlu mengubah nama sama sekali (dan jbrout sudah cukup).
Sementara kita berada di sini, ini adalah salah satu yang lebih gaya "pemrograman gonzo", dalam bash, menggunakan exiftool, dapat dilepaskan pada beberapa direktori dan / atau file individual dalam satu waktu. Ini melompati file yang memiliki tipe mime yang tidak dikenal.
Itu mengubah nama foto menggunakan DateTimeOriginaltag EXIF (jadi hasilnya tidak 001.jpgtapi 2015-12-22_14:43:15.jpg.
Jika ada konflik penamaan, angka indeks diterapkan: 2015-12-22_14:50:57.1.jpg.
Coba produk gratis ini: Penyortir AmoK Exif .
sumber
Cara paling sederhana adalah dengan hanya mengimpor file ke jbrout ... lalu (opsional) semua file dapat diubah namanya menjadi sesuatu yang berorientasi waktu. Atau Anda mungkin menemukan, bahwa Anda tidak perlu mengubah nama sama sekali (dan jbrout sudah cukup).
sumber
Saya melakukan skrip python kecil dan tidak terlalu dioptimalkan yang menurut saya melakukan apa yang Anda inginkan:
sumber
Untuk membuatnya bekerja di Debian Lenny coba ini:
sumber
Di php saya melakukan sesuatu seperti ini:
sumber
Sementara kita berada di sini, ini adalah salah satu yang lebih gaya "pemrograman gonzo", dalam
bash
, menggunakanexiftool
, dapat dilepaskan pada beberapa direktori dan / atau file individual dalam satu waktu. Ini melompati file yang memiliki tipe mime yang tidak dikenal.Itu mengubah nama foto menggunakan
DateTimeOriginal
tag EXIF (jadi hasilnya tidak001.jpg
tapi2015-12-22_14:43:15.jpg
.Jika ada konflik penamaan, angka indeks diterapkan:
2015-12-22_14:50:57.1.jpg
.Semoga bermanfaat: relabel_photo_with_datetimeoriginal.sh
sumber