Voglio specificare una directory e fare in modo che il software trovi tutte le foto nella directory e nelle sue sottodirectory, e se contengono la data / ora EXIF, imposta il timestamp del loro filesystem in modo che corrisponda a EXIF.
Voglio specificare una directory e fare in modo che il software trovi tutte le foto nella directory e nelle sue sottodirectory, e se contengono la data / ora EXIF, imposta il timestamp del loro filesystem in modo che corrisponda a EXIF.
Risposte:
Questo è l'inverso di Esiste un software che imposterà le date EXIF in base alla data di modifica del file? e sono sicuro che verranno applicati tutti i programmi elencati.
Di questi, per questo compito molto semplice, jhead è il mio suggerimento. Ad esempio, il comando
jhead -ft *.jpg
imposta un gruppo di file in modo che il timestamp del file corrisponda a EXIF.
find
, per passare attraverso le sottodirectoryPer eseguire la ricorsione in sottodirectory, è possibile combinarlo con il find
comando disponibile su Linux / Unix / Mac (o Cygwin per Windows):
find -name '*.jpg' -exec jhead -ft {} +
O per trovare qualcuno di *.JPG *.JPEG *.jpg *.jpeg ...
voi può anche provare
find -iname '*.jp*g' -exec jhead -ft {} +
Puoi anche usare find per mostrare solo tutti i file che sarebbero ... trovati, senza eseguire nessun altro comando (come jhead):
find -iname '*.jp*g'
Altre utility come ExifTool o Exiv2 sono molto più capaci, ma al prezzo della complessità. Non riesco mai a ricordare a mano libera le opzioni giuste per fare qualsiasi cosa con quelle e devo sempre guardare la documentazione, ma jhead -ft
è facile da ricordare con il "tempo fisso" mnemonico.
Solo per completezza, però, ho fatto un'occhiata alla documentazione, e con ExifTool , fare questo:
exiftool -r '-DateTimeOriginal>FileModifyDate' directoryname
(Rimuovi -r
se non vuoi ricorsione, e se lo fai, puoi anche dare un elenco di file o un carattere jolly invece di directoryname
.) E fai attenzione con quelle citazioni - se lo stai eseguendo su Windows, vuoi "
invece di '
.
Con Exiv2 :
exiv2 -T rename *.jpg
Fai attenzione che Exiv2 con -t
lettere minuscole (o senza -T
) rinominerà anche il file con un nuovo nome basato sul timestamp, che potrebbe essere molto confuso. Exiv2 inoltre non esegue la ricorsione.
find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +
. Spiegazioni: -name '[0-9][0-9]*'
per evitare di rinominare nuovamente i file che hanno già un prefisso di data ( '[0-9][0-9]
per tenere conto di anni e mesi). -iname '*.jp*g'
può essere ignorato perché jhead
elabora solo i file supportati (solo file JPEG). %f
per mantenere il nome file originale.
Irfanview e jhead faranno entrambi quello che vuoi.
Entrambi gratuiti.
Collegamenti ad entrambi di seguito.
jhead è guidato dalla riga di comando o può essere chiamato da altri processi.
La versione di Irfanview può essere invocata da una riga di comando o internamente in un batch o su un file per file.
L'esempio seguente per Irfanview mostra come copiare in entrambe le direzioni:
Irfanview
Consente modifiche alla GUI o alla riga di comando del trasferimento batch / data / ora da file EXIF a specifiche file o viceversa (senza altre modifiche al file, se desiderato).
Fonte: gratuito da www.irfanview.com
Questo è MOLTO più semplice e veloce in pratica dopo pochi utilizzi rispetto alle istruzioni seguenti. ad es.
per convertire la data / ora di un singolo file in valori EXIF è necessario
Maiusc-J, Alt-F, Invio.
Vedendo perché la prima volta impiega più tempo.
Per fare questo per un batch di file SUONI complessi da imparare -
Richiede: T, Ctrl-A, Alt-F, J, Invio, (Alt-F), Invio
(oppure: T, Ctrl-A, Maiusc-J, Invio) (offre meno opzioni)
MA in effetti è quasi del tutto intuitivo dopo un po 'di utilizzo - i menu ti guidano inizialmente fino a quando non si forma il percorso cerebrale.
GUI, per file
Options, JPG lossless rotation (Shift-J)
Select "Apply original EXIF date/time to new file"
Consider also selecting other options
GUI, uno o più file (tramite visualizzazione Miniatura)
Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of
usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
(1) Change EXIF date/time
"Change EXIF date/time"
Options are offered to set Date/time to specific setting
or to move all times back/forwards by selected DHMS amount
calculator provided to check result is as desired.
(2) Transfer EXIF date / time to file saved date time
"Lossless rotation with selected files" [Shift-J]
then, as for single file version above
Select "Apply original EXIF date/time to new file"
Dalla riga di comando : si tratta di una "rotazione" senza azione tranne che per copiare la data / ora da EXIF alla data e ora del file. Se lo si desidera, si può anche ottenere il contrario. :
i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)
Per copiare data / ora nella direzione opposta ((da filespec a EXIF)
usare come sopra con (0,0,1,0,0,0,0,0)
jhead
farà quasi tutto ciò che puoi immaginare con i file jpeg
Fonte: gratuito da http://www.sentex.net/~mwandel/jhead/
Uso un file batch come di seguito. Altre opzioni sono possibili:
Dicono: cose che jhead può modificare in un file jpeg exif
_________________________
Nota: agosto 2016: "Utente anonimo" ha suggerito correttamente che una conversione suggerita non ha funzionato come ho detto. Ho ampiamente ampliato l'area interessata.
Solo un altro strumento EXIF a riga di comando che può modificare l'ultima data modificata dei file in modo che corrisponda al tempo di scattare la foto, in base alla metada EXIF nel file di immagine JPEG:
exiv2 -T rename somedir/foo*.jpg
Nessun problema, l'argomento comando rename
è ok lì e non fa male.
È solo che l'azione di ridenominazione del file viene utilizzata in modo improprio per creare solo l'effetto collaterale della modifica del timestamp.
Anche se non consiglio davvero di fare affidamento sulla data / ora del file quando si tratta delle tue immagini, puoi usare uno strumento gratuito chiamato EXIF Date Changer per impostare in batch le date dei file di tutte le tue immagini JPG. L'impostazione predefinita imposta la data di creazione e la data di modifica del file sulla foto scattata.
Il motivo per cui non lo consiglio è che la data del file è facilmente aggiornabile. Se modifichi l'immagine, la data modificata viene aggiornata. Se copi l'immagine, ottiene una nuova data.
Una soluzione molto migliore consiste nel rinominare i file per includere la data / ora nel nome file stesso. Ciò consente ancora un facile ordinamento e funziona bene con le immagini archiviate su iPhone / dropbox.
Dai un'occhiata al mio nuovo software gratuito "Photo Date Organizer": http://photodateorganizer.sourceforge.net/
FastStone Image Viewer può eseguire questa operazione (utilizzata la versione 4.9): basta selezionare i file nel riquadro delle miniature, fare clic con il pulsante destro del mouse, selezionare "Strumenti"> "Cambia timestamp" - quindi è possibile utilizzare i dati EXIF (con o senza modifiche) o utilizzare wholy data / ora manuale fissa personalizzata.
Advance Renamer è il miglior software intuitivo che è molto semplice.
Trascina e rilascia tutte le foto su AR (Advance Renamer)
Fare clic su (in alto a sinistra) Aggiungi metodo -> Nuovo nome
Fai clic su una delle immagini in basso al centro e vedrai un pulsante ExifTool che mostra tutti i metadati basta fare clic su un attributo e otterrai il tag In questo caso è<ExifTool:DateTimeOriginal>
Copialo e incollalo nella casella di testo Nuovo nome Puoi aggiungere qualsiasi cosa, prima o dopo IMG_<ExifTool:DateTimeOriginal>
, DSC_<ExifTool:DateTimeOriginal>
ecc.
Fai clic su Avvia batch (in alto a destra). Questo rinominerà tutti i tuoi file con la data Ad es. 2017_12_01 19_10_12 È sempre bene avere la data originale nel nome del file perché gli attributi potrebbero andare persi ma i nomi dei file no.
<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
L'ho suggerito all'autore di PhotoRenamer, che ha risposto ...
PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php
Aggiungo un pulsante nella scheda "Opzioni" della barra multifunzione. Da lì, è possibile selezionare l'opzione per l'aggiornamento dello stato temporale del file del file.
A proposito, per evitare l'uso della maschera, aggiungo anche un nuovo attributo maschera:% F. Se usi questa semplice maschera, il file viene rinominato ... con il suo nome ... Quindi non sei obbligato a rinominare il file per il quale desideri aggiornare gli attributi di tempo del file ...
Questa è una vecchia domanda e sembra che ci siano alcuni suggerimenti che dovrebbero funzionare bene, ma quello a cui sono arrivato per ordinare un problema di ordinazione dei file dopo un aggiornamento del telefono Android è stato questo.
Forse questo sarà utile a qualcuno.
L'altro programma gratuito è Google Picasa: puoi facilmente cambiare in batch data e ora per tutte le foto:
Bell'articolo a riguardo: come modificare la data di una foto in Picasa a quando è stata scattata la foto