Exiftool Date Cheatsheet

Il mio metodo di archiviazione foto è:

  • Raccolta foto da varie fonti (amici, fotocamere, cellulari)
  • Rinomina foto da data Exif (es: 20251018_171655.jpg) e ridimensionamento in QHD (2560 x 1440)
  • Selezione degli scatti (facilitata grazie ai nomi uniformi)

Svariate volte mi sono capitate fotocamere con data/ora impostate non correttamente, o foto senza data di scatto impostata sui tag Exif, cosa che rende l’archiviazione un inferno.

La soluzione per riordinare tutto è ExifTool by Phil Harvey.

Come nota personale, ma anche per chi ne avrà bisogno, riporto le righe di comando ExifTool che mi sono trovato ad usare più spesso.

Attenzione: generalmente lavoro con copie di backup e so quello che faccio, quindi riporto sempre -overwrite_original. Se state sperimentando, rimuovete quel parametro.

Visualizzare date di scatto impostate

& '.\exiftool.exe' -DateTimeOriginal -CreateDate -ModifyDate *.jpg
exiftool -DateTimeOriginal -CreateDate -ModifyDate *.jpg

DateTimeOriginal: la data e ora in cui la foto è stata effettivamente scattata.
CreateDate: la data in cui il file è stato creato dalla fotocamera o software.
ModifyDate: la data dell’ultima modifica registrata nei metadati.

Verifica se mancano campi data di scatto

& '.\exiftool.exe' -if "not defined $DateTimeOriginal or not defined $CreateDate or not defined $ModifyDate" *.jpg
exiftool -if 'not defined $DateTimeOriginal or not defined $CreateDate or not defined $ModifyDate' *.jpg

Imposta una data di scatto fissa

& '.\exiftool.exe' -AllDates="2025:02:16 15:00:00" -overwrite_original *.jpg
exiftool -AllDates="2025:02:16 15:00:00" -overwrite_original *.jpg

Nota: -AllDates è una scorciatoia per -DateTimeOriginal, -CreateDate, -ModifyDate. Ovviamente si possono specificare anche singolarmente.

Modifica la data di scatto solo per una specifica fotocamera e anno

& '.\exiftool.exe' -if "`$Model eq 'HERO3+ Silver Edition' and `$DateTimeOriginal =~ /^2013/" "-AllDates+=0:0:1292 0" -overwrite_original *.jpg
exiftool -if '$Model eq "HERO3+ Silver Edition" and $DateTimeOriginal =~ /^2013/' \
"-AllDates+=0:0:1292 0" \
-overwrite_original \
 *.jpg

In questo esempio aggiunge +1292 giorni alla data, lasciando l’ora intatta, solo per la fotocamera HERO3+ Silver Edition, e solo se la data originale di scatto è 2013

Imposta la data di scatto prelevandola dal nome del file

& '.\exiftool.exe' '-AllDates<${filename; s/^(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}).*/$1:$2:$3 $4:$5:$6/}' -overwrite_original *.jpg
exiftool '-AllDates<${filename; s/^(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}).*/$1:$2:$3 $4:$5:$6/}' -overwrite_original *.jpg

In questo caso preleva la data dal file usando il formato: YYYYMMDD_HHMMSS.jpg

Copia DateTimeOriginal nei campi CreateDate e ModifyDate

& '.\exiftool.exe' "-CreateDate<DateTimeOriginal" "-ModifyDate<DateTimeOriginal" -overwrite_original *.jpg
exiftool '-CreateDate<DateTimeOriginal' '-ModifyDate<DateTimeOriginal' -overwrite_original *.jpg

Alcuni software (looking at you, IrfanView) leggono la data solo da un campo specifico tra i vari DateTimeOriginal, ModifyDate, CreateDate. In questo modo si può copiare da un campo sopra gli altri mancanti.

Imposta la data di scatto usando la data di ultima modifica

& '.\exiftool.exe' "-AllDates<FileModifyDate" -overwrite_original *.jpg
exiftool "-AllDates<FileModifyDate" -overwrite_original *.jpg

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.