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