Il mio metodo di archiviazione foto è sempre stato:
- Raccolta foto da varie fonti (amici, fotocamere, cellulari)
- Rinomina foto da data Exif e ridimensionamento in QHD (2560 x 1440)
- Selezione degli scatti (visualizzando in sequenza temporle anche da più fonti)
A volte (anche se in futuro sarà sempre meno probabile) può capitare una fotocamera che aveva data/ora impostate non correttamente. Questo rovina il lavoro di archiviazione.
Di seguito alcuni comandi di ExifTool che mi ritrovo ad usare spesso, riportati sia per Windows Terminal che per Bash.
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(-k).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(-k).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(-k).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(-k).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 la data originale di scatto è 2013
Imposta la data di scatto prelevandola dal nome del file
& '.\exiftool(-k).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(-k).exe' "-CreateDate<DateTimeOriginal" "-ModifyDate<DateTimeOriginal" -overwrite_original *.jpg
exiftool '-CreateDate<DateTimeOriginal' '-ModifyDate<DateTimeOriginal' -overwrite_original *.jpg
Alcuni software leggono la data da un campo specifico; se quel campo non è valorizzato, è possibile copiarvi il valore da un altro campo già presente.
Imposta la data di scatto usando la data di ultima modifica
& '.\exiftool(-k).exe' "-AllDates<FileModifyDate" -overwrite_original *.jpg
exiftool "-AllDates<FileModifyDate" -overwrite_original *.jpg