Takeout JSON

Rinominare le foto in base alla data di scatto, in blocco

Uno schema di nome che si ordina da solo ovunque, da dove deve venire la data, e gli strumenti gratuiti per Windows, Mac e Linux per migliaia di foto.

Ogni fotocamera e ogni telefono che hai avuto chiamava le foto in modo diverso. IMG_0042, DSC_0042, PXL_20210813_143022, 20180402_091501, Screenshot_2019. Ordinata per nome, la cartella di un viaggio sembra mescolata. Ordinata per data di modifica sembra a posto, finché non la copi da qualche parte e le date si azzerano.

Perché il nome del file conta

Il nome è l'unico metadato che ogni sistema mostra e per cui ogni sistema ordina. L'EXIF ha bisogno di un visualizzatore. Le date del file cambiano quando i file si spostano. Il nome viaggia con il file ed è visibile in qualsiasi elenco.

Se il nome inizia con la data di scatto, la cartella si ordina da sola in ordine cronologico ovunque: Finder, Esplora file, un gestore di file Linux, la pagina web di un NAS, il browser USB di una TV, un terminale. Nessuna colonna da scegliere, nessun metadato da leggere.

Uno schema che si ordina correttamente

È l'ordine delle parti che lo fa funzionare. Prima l'anno, poi il mese, poi il giorno, poi l'ora, ognuno con gli zeri davanti, l'unità più grande a sinistra:

2019-07-14-1105_Roma.jpg
2019-07-14-1132_Roma.jpg
2019-07-15-0908_Tivoli.jpg

Qualche regola lo tiene sensato.

Usa anni a quattro cifre e mesi e giorni a due. 2019-7-4 come testo si ordina dopo 2019-10-1. 2019-07-04 no.

Includi l'ora, almeno al minuto. Due foto dello stesso giorno hanno bisogno di qualcosa che le tenga in ordine, e una raffica di dieci foto in un minuto ha comunque bisogno di un contatore, che gli strumenti aggiungono come _1, _2.

Tieni un separatore tra data e ora. 20190714_1105 va bene. 201907141105 è illeggibile.

Evita i caratteri che alcuni file system rifiutano. I due punti non possono stare nei nomi su Windows e macOS, quindi l'ora è 1105 o 11-05, non 11:05. Le barre sono escluse per lo stesso motivo.

Se vuoi conservare il nome originale, mettilo dopo la data, non prima: 2019-07-14-1105_IMG_4821.jpg. La data governa ancora l'ordine, e puoi ancora risalire alla scheda della fotocamera.

Da dove deve venire la data

La rinomina deve leggere la data di scatto dal tag EXIF DateTimeOriginal, la "Data acquisizione" di Esplora file. Rinominare per data di modifica del file è l'errore più comune, e dà a ogni foto la data in cui l'hai copiata, non quella in cui l'hai scattata. Il perché è in come cambiare la data di scatto di una foto.

Se le foto vengono da Google Takeout, la data EXIF spesso manca e quella vera sta in un file .json accanto. Rinomina per EXIF e ogni foto di quell'esportazione prende lo stesso giorno. Prima sistema quello, o usa uno strumento che legge i JSON. Vedi Google Takeout, foto con la data sbagliata.

Gli strumenti per sistema

Windows. La rinomina integrata di Esplora file non legge l'EXIF. Advanced Renamer è gratuito e ha un tag "Image" per la data di scatto. XnView MP è gratuito e la sua Rinomina in blocco supporta schemi come {EXIF:Date Taken Y-m-d}. Anche la rinomina in blocco di IrfanView legge l'EXIF.

Mac. Nemmeno la rinomina in blocco del Finder legge l'EXIF. Automator e Comandi rapidi possono, con un po' di fatica. A Better Finder Rename è a pagamento e lo fa bene. XnView MP gira anche su Mac.

Linux. exiftool è lo standard ed è nei repository di ogni distribuzione. digiKam e XnView MP hanno entrambi una rinomina in blocco grafica.

Ovunque, exiftool lo fa in una riga:

exiftool "-FileName<DateTimeOriginal" -d "%Y-%m-%d-%H%M%%-c.%%e" .

Rinomina ogni foto nella cartella corrente in 2019-07-14-1105.jpg, aggiungendo -1, -2 se due foto condividono un minuto. Aggiungi -r per includere le sottocartelle. Salta i file senza data EXIF, quindi controlla cosa resta dopo.

Una prova è saggia. exiftool non ha una vera prova a secco per le rinomine, quindi copia un piccolo lotto in una cartella di prova e prova lì prima.

Farlo con l'app

Takeout JSON Metadata Fixer fa la rinomina, la correzione delle date e la struttura di cartelle in un'unica esecuzione, così non devi concatenare tre strumenti.

Quattro modelli di nome coprono i casi comuni. Data-ora + luogo dà 2019-07-14-1105_Roma.jpg, con il nome del luogo ricavato dal GPS. Solo data-ora toglie il luogo. Originale + data-ora tiene il nome della fotocamera e aggiunge la data dopo, come IMG_1234_20190714_1105.jpg. Mantieni il nome originale lascia i nomi in pace se vuoi solo date e cartelle.

Puoi aggiungere un prefisso o un suffisso tuo a qualsiasi modello, così un lotto può avere Matrimonio_ davanti o _scansione in fondo.

La data per ogni nome viene dal JSON di Takeout se c'è, poi dall'EXIF, poi dalla data del file come ultima risorsa, e l'app scrive la data vera dentro il file nello stesso momento. Così nome ed EXIF concordano, cosa che spesso non succede dopo che altri strumenti sono passati sui file.

La ricerca del nome del luogo usa OpenStreetMap e manda a quel servizio solo le coordinate arrotondate; spegnila e l'app gira completamente offline. La prova a secco mostra ogni nome proposto prima che venga rinominato qualcosa. Windows, Mac e Linux, in italiano. Gratis per 1000 foto, poi 19,99 USD una volta sola per le foto illimitate.

Domande frequenti

Tengo il nome originale nel nome nuovo?

Tienilo se potresti dover risalire a una scheda della fotocamera o a un vecchio backup. Toglilo se vuoi nomi corti e puliti e sei sicuro che gli originali siano salvati altrove. Vanno bene entrambi. Quello che conta è la data davanti.

Rinominare cambia la qualità della foto?

No. Cambia solo il nome nel file system. I metadati e l'immagine restano identici.

Cosa succede a due foto scattate nello stesso minuto?

Ricevono un contatore: 2019-07-14-1105_Roma.jpg e 2019-07-14-1105_Roma_1.jpg, o -1 con exiftool. Il contatore serve soprattutto per le raffiche.

E le foto senza nessuna data?

exiftool le salta. L'app usa la data del file, oppure la data che imposti tu per tutta la cartella, come per le foto scansionate.