Esporta dall'app Foto Mac mantenendo i dati creati con la data?

5

Ho alcune foto scattate nel 2012 e quando le esporto come originali in una cartella hanno una data di creazione di luglio 2016. L'esecuzione di un detailer EXIF ha mostrato che le immagini sono state scattate nel 2012, quindi perché Photos li esporta e aggiungere un'altra data ad esso?

Ho provato ad esportare il mio intero album dal 2009-2016 e ho notato che alcune foto scattate negli anni precedenti al 2016 apparivano a luglio o in altri mesi di quest'anno.

Apprezzerei molto se qualcuno potesse far luce su questo problema.

    
posta Render 11.10.2016 - 18:29
fonte

3 risposte

6

Tieni presente che, affinché i tuoi file abbiano una data creata che corrisponda alla data EXIF "foto scattata", devi utilizzare Esportare Originali non modificati. Le immagini modificate possono essere state modificate all'interno di Foto, il che comporta la creazione di un nuovo file e l'utilizzo dell'esportazione normale esporterà il file modificato con la data di creazione successiva.

Ci sono alcune opzioni in questo post su Photography SE per modificare la data di creazione di un file in modo che corrisponda ai dati EXIF. Non dovresti mai tentare di usarli su file all'interno del pacchetto .photoslibrary ! Esportare prima i file.

ExifTool è una potente applicazione da riga di comando per leggere e scrivere i dati EXIF in un varietà di file, inclusi video. Tuttavia, sui Mac, non può scrivere la data di creazione del file. C'è un modo per aggirare questo usando un po 'di scripting bash.

Ecco un comando che funziona sia per i file di foto e video:

for file in *; do SetFile -d "$(exiftool -p '$CreateDate' -d '%m/%d/%Y %H:%M:%S' "$file")" "$file"; done

Essenzialmente un ciclo viene eseguito su file nella directory corrente. exiftool viene utilizzato per leggere il tag data di creazione EXIF e SetFile viene utilizzato per scrivere come data di creazione del file. Il modo in cui è scritto, riguarderà i tutti file nella directory corrente, quindi suggerisco di spostare tutti i file che si desidera modificare in una directory con nient'altro in esso, ed eseguire il comando da quella directory .

    
risposta data 13.10.2016 - 19:37
fonte
1

nel caso in cui desideri utilizzare touch invece di SetFile:

for file in *; do touch -mt "$(exiftool -p '$CreateDate' -d '%Y%m%d%H%M.%S' "$file")" "$file"; done
    
risposta data 15.03.2018 - 23:08
fonte
1

La risposta accettata presume che si sappia come usare la riga di comando. In caso contrario, ecco i passaggi precursori presunti:

1) Installa un gestore di pacchetti, se non ne hai già uno installato. (E poi usarlo per sempre per installare un nuovo software:))

(consigliato:)

Per Mac: usa Homebrew - link

Per Windows: usa Chocolatey - link

2) Utilizzando il gestore di pacchetti (^^ appena installato), installa exiftool , che è un software gratuito per la visualizzazione / utilizzo dei metadati multimediali:

Su Mac:

brew install exiftool

Su Windows:

choco install exiftool

3) Passare alla directory contenente i file immagine / film utilizzando il comando 'cambia directory': cd - (Ulteriori informazioni su come utilizzare la riga di comando qui: link )

cd {insert-name-of-your-file-directory-here}

4) L'ultimo comando è basato sulle risposte accettate sopra, ma ho scoperto che dovevo passare a CreationDate affinché riflettesse effettivamente la data di acquisizione delle foto / video originali. E ho anche optato per l'utilizzo di touch :

Versione one-liner (copia e incolla questo):

for file in *; do touch -t "$(exiftool -p '$CreationDate' -d '%Y%m%d%H%M' "$file")" "$file"; done

(stesso codice, ma formattato per la leggibilità nel caso in cui si voglia capire cosa sta succedendo):

for file in *; do   \
    touch -t "$(exiftool -p '$CreationDate' -d '%Y%m%d%H%M' "$file")" "$file";   \
done
    
risposta data 25.09.2018 - 11:32
fonte

Leggi altre domande sui tag