Je souhaite spécifier un répertoire et faire en sorte que le logiciel trouve toutes les photos du répertoire et de ses sous-répertoires, et si elles contiennent une date / heure EXIF, il définit lhorodatage de leur système de fichiers pour correspondre à lEXIF.

Commentaires

Answer

Ceci est linverse de Existe-t-il un logiciel qui définira les dates EXIF en fonction de la date de modification du fichier ‘? , et je « suis sûr que tous les programmes listés ici sappliqueront.

jhead

Parmi ceux-ci, pour cette tâche très simple, jhead est ma suggestion. Par exemple, la commande

jhead -ft *.jpg 

définit un groupe de fichiers afin que lhorodatage du fichier corresponde à EXIF.

jhead avec find, pour parcourir les sous-répertoires

Pour effectuer une récursion dans les sous-répertoires, vous pouvez le combiner avec la commande find disponible sous Linux / Unix / Mac (ou Cygwin pour Windows):

find . -name "*.jpg" -exec jhead -ft {} + 

Ou pour trouver lun des *.JPG *.JPEG *.jpg *.jpeg ... vous pouvez également essayer

find . -iname "*.jp*g" -exec jhead -ft {} + 

Vous pouvez également utiliser find pour afficher simplement tous les fichiers qui le seraient. .. trouvé, sans exécuter aucune autre commande (comme jhead):

find . -iname "*.jp*g" 

Autres outils

Dautres utilitaires comme ExifTool ou Exiv2 sont beaucoup plus capable, mais au prix de la complexité. Je ne me souviens jamais des bonnes options pour faire quoi que ce soit avec celles-ci et je dois consulter la documentation à chaque fois, mais jhead -ft est facile à retenir avec le mnémonique « fix time ».

ExifTool

Pour être complet, cependant, jai regardé la documentation, et avec ExifTool , procédez comme suit:

exiftool -r "-DateTimeOriginal>FileModifyDate" directoryname 

(Supprimez le -r si vous ne « Je ne veux pas de récursivité, et si vous faites cela, vous pouvez également donner une liste de fichiers ou un caractère générique au lieu de directoryname.) Et soyez prudent avec ces guillemets – si vous » exécutez ceci sous Windows, vous voulez " au lieu de ".

Exiv2

Avec Exiv2 :

exiv2 -T rename *.jpg 

Attention aux minuscules -t (ou sans -T) Exiv2 renomme également le fichier avec un nouveau nom basé sur lhorodatage, ce qui peut être très déroutant. Exiv2 ne fait pas non plus de récursivité.

Commentaires

  • Vous avez raison, cest le contraire mais infiniment plus utile 🙂
  • jhead est très utile pour cela – ET pour de nombreuses autres manipulations de fichiers jpg. Soyez prudent lorsque vous lutilisez – cest un outil extrêmement puissant qui peut faire des ravages sil est mal utilisé. Je recommande de lutiliser dans un fichier batch afin que vous fassiez toujours ce que vous vouliez, et de tester le résultat sur un jeu de fichiers de test en premier.
  • +1 mais je me suis attribué la réponse 😉 Juste pour que dautres à lavenir peut trouver un moyen de faire exactement ce que jai demandé …
  • @olibre Oui, cela fonctionnera sous Linux / Unix ou Mac.
  • Jai remarqué la présence de certains navigateurs dimages (diaporama ) images uniquement dans lordre des noms de fichiers (pas au moment de la modification du fichier). Enfin, jutilise lhorodatage EXIF pour définir lheure du fichier ET pour préfixer le nom du fichier. Jutilise la commande find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Explications: -name '[0-9][0-9]*' pour éviter de renommer à nouveau les fichiers ayant déjà un préfixe de date ('[0-9][0-9] pour prendre en compte les années et les mois). -iname '*.jp*g' peut être ignoré car jhead ne traite que les fichiers pris en charge (uniquement les fichiers JPEG). %f pour conserver le nom de fichier dorigine.

Réponse

Irfanview et jhead feront tous les deux ce que vous voulez.
Tous deux gratuits.
Liens vers les deux ci-dessous.
jhead est piloté par la ligne de commande ou peut être appelée par dautres processus.
La version dIrfanview peut être appelée depuis une ligne de commande ou en interne dans un lot ou fichier par fichier.

Lexemple ci-dessous pour Irfanview montre comment copier dans les deux sens:


Irfanview

Permet des changements dinterface graphique ou de ligne de commande de lot ou par fichier de transfert de date / heure dEXIF vers les spécifications de fichier ou vice versa (sans autre fichier change si vous le souhaitez).

Source: Libre de www.irfanview.com

Cest BEAUCOUP plus facile et plus rapide en pratique après seulement quelques utilisations que les instructions ci-dessous le font apparaître. par exemple
Pour convertir la date / heure dun seul fichier en valeurs EXIF, il faut
Shift-J, Alt-F, Enter.
Voir pourquoi la première fois prend plus de temps.

Pour ce faire pour un lot de fichiers SONORITÉS complexes à apprendre –
Il faut: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(Ou: T, Ctrl- A, Shift-J, Enter) (donne moins doptions)
MAIS en fait cest presque entièrement intuitif après une petite utilisation – les menus vous guident dans un premier temps jusquà ce que le chemin du cerveau se forme.

GUI, par fichier

 Options, JPG lossless rotation (Shift-J) Select "Apply original EXIF date/time to new file" Consider also selecting other options 

entrez la description de limage ici

GUI, un ou plusieurs fichiers ( via la vue Miniature)

AVERTISSEMENT: ( Ajouté 2020!)
Il a été signalé que la sélection de mauvaises options peut entraîner un résultat indésirable – par exemple, tous les fichiers de destination définis sur une seule date sélectionnée et le temps. Faire les choses correctement nest « pas trop difficile » – mais regardez les différentes cases à cocher et décidez laquelle convient à ce que vous souhaitez faire.

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" 

entrez la description de limage ici

Depuis la ligne de commande – il sagit dune « rotation » sans aucune action sauf pour copier la date / heure de EXIF vers la date et lheure du fichier. Le contraire peut également être obtenu si vous le souhaitez. :

  • i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)

  • Pour copier la date / lheure dans la direction opposée ((filespec to EXIF)
    utilisez comme ci-dessus avec (0,0,1,0,0,0,0,0)


jhead

fera à peu près tout ce que vous peut imaginer avec des fichiers jpeg

Source: Libre de http://www.sentex.net/~mwandel/jhead/

I utilisez un fichier batch comme ci-dessous. Dautres options sont possibles:

  • jhead -ft % 1 .jpg

Ils disent: Ce que jhead peut modifier dans un fichier jpeg exif

  • Images en haut à droite en fonction de la balise de rotation à laide de jpegtran
    Définissez ou ajustez les horodatages internes exif
    Fixez les décalages de date / heure dans de grands lots dimages
    Renommer ou dater les fichiers en fonction de lhorodatage exif
    Transférer les en-têtes exif entre les images
    Remplacer les miniatures dans les en-têtes Exif
    Modifier les commentaires jpeg (mais pas les commentaires Exif)
    Supprimer les sections exif ou comment des images jpeg
    Créer un nouvel en-tête exif minimal contenant la date et miniature

_________________________

Remarque: août 2016:  » Un utilisateur anonyme « a correctement suggéré quune conversion suggérée ne fonctionnait pas comme je lai dit. Jai beaucoup ajouté à la zone concernée.

Commentaires

  • Août 2016:  » Utilisateur anonyme  » a correctement suggéré quune conversion suggérée na pas fonctionné comme je lai dit. Jai ‘ largement ajouté à la zone concernée.
  • Et les fichiers bruts?
  • @MichaelClark Je ‘ je suis heureux que vous ayez posé cette question :-). Je note que nous semblons tous avoir abordé JPG fichiers et non RAW. J’ imaginer que vous seriez lune des personnes les plus susceptibles de demander comment faire cela avec les fichiers RAW :-).
  • ATTENTION: létape 1 sous  » GUI, un ou plusieurs fichiers (via la vue Miniature)  » est trompeuse: elle définit tous les fichiers sélectionnés sur la même date et heure (ce qui nest pas ce qui a été demandé dans la question). Seule létape 2 mène au résultat demandé.
  • @Christoph Merci. Jai ajouté une mise en garde générale au début de cette section.

Réponse

Juste un autre outil EXIF en ligne de commande qui peut changer la dernière date de modification des fichiers pour correspondre à lheure de la prise de vue, basée sur la métada EXIF dans le fichier image JPEG:

 exiv2 -T rename somedir/foo*.jpg 

Pas de soucis, largument de la commande rename est correct et ne fait aucun mal.
Cest juste que laction de renommer le fichier est mal utilisée pour créer uniquement leffet secondaire de changer lhorodatage.

Réponse

Bien que je ne « recommande pas de se fier au fichier date / heure en ce qui concerne vos images, vous pouvez utiliser un outil gratuit appelé Changeur de date EXIF pour définir par lots les dates de fichier de toutes vos images JPG.Le paramètre par défaut définira à la fois la date de création et la date de modification du fichier sur la photo prise.

La raison pour laquelle je ne le recommande pas est que la date du fichier est facilement mise à jour. Si vous modifiez limage, le la date de modification est mise à jour. Si vous copiez limage, elle obtient une nouvelle date.

Une bien meilleure solution consiste à renommer les fichiers pour inclure la date et lheure dans le nom de fichier lui-même. Cela permet toujours un tri facile et fonctionne bien avec les images stockées sur iPhone / dropbox.

Changeur de date EXIF - Définissez les dates des fichiers à la date prise

Réponse

Découvrez mon nouveau logiciel gratuit « Photo Date Organizer »: http://photodateorganizer.sourceforge.net/

entrez la description de limage ici

Commentaires

  • Depuis la page SourceForge:  » Présenté par: killdaclick « . La publicité de vos propres produits nest pas ‘ t interdit ici, mais vous devez préciser votre affiliation.
  • @PhilipKendall done 🙂

Réponse

FastStone Image Viewer peut faire cela (version 4.9 utilisée) – il suffit de sélectionner les fichiers dans le volet des miniatures, faire un clic droit dessus , sélectionnez « Outils »> « Modifier lhorodatage » – vous pouvez alors soit utiliser des données EXIF (avec ou sans modifications), soit utiliser une date / heure manuelle fixe personnalisée.

Commentaires

  • Wow! Je ne savais pas ça, jutilise leur outil de capture décran depuis des années et je nai rien trouvé de mieux. Vous pouvez obtenir la dernière version gratuite ici ; Sur ‘ je nai besoin daucune des fonctionnalités payantes. Jai également utilisé leur visionneuse dans le passé, mais je ne savais pas quelle pouvait le faire.

Réponse

Advance Renamer est le meilleur logiciel convivial qui est très simple.

  1. Glissez et déposez toutes les photos vers AR (Advance Renamer)

  2. Cliquez sur (En haut à gauche) Ajouter une méthode -> Nouveau nom

  3. Cliquez sur lune des images en bas au milieu, vous verrez un bouton ExifTool qui montre toutes les métadonnées, cliquez simplement sur un et vous « obtiendrez la balise » Dans ce cas, il sagit de <ExifTool:DateTimeOriginal>

  4. Copiez ceci et collez-le dans le Nouveau nom textbox Vous pouvez ajouter nimporte quoi avant ou après comme IMG_<ExifTool:DateTimeOriginal>, DSC_<ExifTool:DateTimeOriginal> etc.

  5. Cliquez sur Démarrer le lot (Haut Droite) Cela renommera tous vos fichiers avec la date Ex. 2017_12_01 19_10_12 Il est toujours bon davoir la date dorigine dans le nom de fichier car les attributs peuvent être perdus mais les noms de fichiers ne seront pas « t.

  6. Faites glisser à nouveau tout renommé fichiers sur AR
  7. Cliquez sur Nouvelle méthode -> Horodatage
  8. Tout cocher 3 cases à cocher Créer, Modifier, Accéder (Parfois accessible ne fonctionne pas, décochez-le si cela se produit)
  9. Sélectionnez FileName Pattern et collez <Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. Démarrer le lot.
  11. Vous allez bien. Mission accomplie

Réponse

Javais terminé gâcher les dates des fichiers dans ma bibliothèque, mais n’était satisfait d’aucun des outils. Certains ne prennent en charge aucune récursivité de répertoire, d’autres ne peuvent pas modifier certains horodatages spécifiques à Windows, d’autres sont difficiles à utiliser.

Jai créé un nouveau outil de ligne de commande pour une tâche unique – traiter tous de manière récursive fichiers dans un répertoire donné pour extraire la date EXIF et définir la date du fichier.

Loutil est multiplateforme.

Veuillez consulter ExifDate2FS

Réponse

Cest une vieille question et il semble que quelques suggestions devraient bien fonctionner, mais celui auquel je suis arrivé pour trier un problème de commande de fichiers après une mise à niveau dun téléphone Android était celui-ci.

  • Ouvrez Windows (pour la première fois depuis longtemps)
  • Installez ExtFS ou quelque chose qui peut lire des partitions ext4
  • Copier des photos sur le disque dur à partir de Micro SD
  • Utiliser le changeur dattributs ( https://www.petges.lu/home/ ) pour définir les dates de création / modification sur la date EXIF
  • Remettre la carte dans le téléphone
  • Copier les photos sur le téléphone via MTP

Cela sera peut-être utile à quelquun.

Réponse

Je me suis inscrit à StackExchange juste afin que je puisse remercier lOP davoir publié ceci, et ajouter mon workaroun d bc certaines des commandes ici ne fonctionnaient pas pour moi. Désolé, je vais parler de mon processus.

Je « suis au milieu dun effort » Nettoyons enfin mes archives de photos « car la lutte est réelle, dautant plus quiCloud et Google Photos les retirent de votre appareil et que la gestion des fichiers na pas grand-chose à faire. faites avec ces jours-ci (et autrefois, les bons services et produits étaient un peu capricieux et imposaient un caractère aléatoire et une duplication étranges qui nécessitaient un réel effort pour les surmonter.)

Jai utilisé Flickr pour obtenir des photos ma machine lorsque mon lecteur était trop petit pour les contenir tous. Jai utilisé Google Photos sur un seul compte depuis 2006, donc javais un ensemble de doublons aléatoires et de photos uniques là-haut, à travers ses différentes incarnations de téléchargement.

Quand la photographie sur iPhone a vraiment commencé, je me connectais par USB, je les importais dans ma Dropbox qui les renommerait avec un horodatage 🙌🏻, je les mettais dans un dossier année / mois avec un peu de curation pour trier les captures décran et les photos dachats, et Google Photos a regardé ce dossier darchives pour les télécharger. Cela a bien fonctionné jusquà ce quiCloud saisisse les photos de mon iPhone et quil soit prouvé quelles nécessitaient son propre flux de travail.

Parce que la duplication a toujours été un GROS problème, un outil appelé Gemini II a enfin rendu ce projet de nettoyage et darchivage possible.

Pour consolider mon archive sur un disque externe, jai décidé de télécharger toutes les photos sauf la plus récente sur iCloud (en utilisant Image Capture et une clé USB sur mon téléphone: pas fiable à 100%), Flickr et Google, et tout nettoyer.

Cest ainsi que jai découvert Données Exif: certaines photos (seulement certaines) nétaient pas des fichiers plats (voir limage ci-dessous) et ont montré leurs métadonnées dans le Finder. La plupart nont que la date de création-modification visible. Wh sur Jai téléchargé depuis Flickr (et certains depuis Google) enregistrés comme sils avaient été créés et modifiés le jour où je les ai téléchargés. Pas bon. Certains avaient des données EXIF visibles, mais la plupart / la plupart semblaient plats. Javais supprimé les doublons parce quils avaient le mauvais horodatage (sils étaient de même taille ou plus petits, cest-à-dire). La découverte des données Exif et de lhorodatage ma amené ici.

Létape Dropbox a toujours été importante pour moi car IMG _ #### ou DSC #### a toujours été inutile. Quelquun ma demandé pourquoi je navais pas sauté létape Dropbox et utilisé Automater pour les renommer. Automater na pas la capacité que je peux voir, mais grâce à Jhead cela va enfin fonctionner.

Jai compris comment installer dabord jhead, puis exécuter jhead dans un répertoire de manière récursive et le plus souvent, les données EXIF étaient toujours dans les fichiers photo. Résultat: jhead a changé le dates des fichiers par rapport à ce qui était dans les données EXIF. Pas de déceptions.

Premièrement, pour les utilisateurs de Mac: suivez les instructions dinstallation décompressées depuis la ligne de commande (Terminal). Si vous ne les trouvez pas pour jhead, trouvez les instructions générales de décompression et les sous à lemplacement de larchive tar de jhead. Cela a fonctionné, car le téléchargement et la tentative dinstallation à partir de la ligne de commande ne lont certainement pas fait. Ensuite: assurez-vous dinstaller Xcode depuis lApp Store. Tous les développeurs Apple ont besoin de ce programme et il fait fonctionner des commandes qui autrement ne « t » pas. Il est nécessaire pour « make » et « install make ».

Utilisation de loutil jhead: Je ne suis pas familier avec la lecture des instructions et manuels Unix (man jhead) mais assez familier avec la CLI pour que si quelquun a documenté quelque chose quelque part, jessaye ses options jusquà ce que quelque chose fonctionne.

Cela na pas fonctionné pour moi:

[répertoire que je veux]> find -name « * .jpg » -exec jhead -ft {} +

Ailleurs sur StackExchange, jai trouvé une chaîne de recherche récursive différente pour laquelle je me suis mis au travail (il y avait une option -print qui ne me paraissait pas nécessaire):

 find . | grep ".*[.]jpg" 

mais si jajoutais la commande jhead, jobtiendrais une erreur disant quil ne comprenait pas « grep »

Déconstruction des termes de recherche en ajoutant et en supprimant des options / variables de recherche et en essayant dobtenir jhead faire partie de cette commande na pas fonctionné jusquà ce que jaie essayé une vieille convention:

jhead -ft ./*/*.jpg 

Cela a parcouru tout un répertoire long-ish et il na pas « t crache de très nombreuses erreurs comme « ne contient aucun horodatage EXIF » ou « Erreur: Heure » 0000: 00: 00 00:00:00 « : impossible de con vert à lheure Unix « 

Quand jai regardé, il ne restait quune minorité dhorodatages téléchargés hier. Jai donc testé cela sur les 10 autres dossiers de fichiers que javais dans mon dossier « doublons ». Les choses datées de 2020 sont revenues à 2004, 2013, 2012. Jai appris que si vous exécutez deux fois le même répertoire, vous nobtenez pas la sortie une deuxième fois.

Ensuite, jai utilisé jhead pour renommer mes fichiers en fonction de la convention dhorodatage. Cela a fonctionné comme un charme. Si le nom du fichier dorigine contenait une signification pour vous et que vous souhaitez le conserver, assurez-vous de linclure dans la chaîne dhorodatage choisie:

" "%f … *.jpg 

Je trouve maintenant frustrant que Finder ne soit pas cohérent pour afficher ces informations quand il le pourrait. Voici un exemple de fichier pour lequel Finder affiche des informations complètes (rare). Image des informations du Finder de Mac OS sur les données EXIF de la photo, complètes

Commentaires

  • Bonjour, bienvenue dans Photo-SE. Ces Stack Exchanges sont des sites Q & A, où chaque réponse tente de répondre directement à la question. Ils ne sont pas comme des forums de discussion plus typiques, qui sont souvent filetés, et les messages sont des réponses les uns aux autres autant (souvent plus que) au message original. Telle quelle est rédigée, votre réponse est très axée sur la discussion et le récit concernant vos besoins et processus pour un outil de changement de nom, plutôt que de vous concentrer sur la réponse à la question telle que posée.
  • Sur un plan technique détail, la raison pour laquelle find -name '*.jpg' -exec jhead -ft {} + na pas ‘ t fonctionner est parce que find a besoin dun chemin pour rechercher avant que des expressions telles que -name <...> ne soient données. Jai ‘ mis à jour la réponse acceptée / votée la plus élevée pour corriger lerreur. Essayez plutôt ceci: find . -name '*.jpg' -exec jhead -ft {} +
  • Quest-ce qui vous fait penser que je nai pas ‘ démarrer la commande depuis le chemin de le répertoire que je voulais? Si cela na pas ‘ t fonctionner, cela na ‘ t fonctionner. Jai trouvé ma solution de contournement. Cela ma simplifié la vie. Alors je lai posté et transmis. Si les exemples concrets qui expliquent les choses aux non-programmeurs ne sont ‘ pas les bienvenus, et que je suis grondé de ne pas être assez technique, jai gagné ‘ t commenter à nouveau. Bravo.
  • Si vous lavez tapé comme vous lavez écrit, alors il ny a ‘ aucun moyen pour que la commande fonctionne . Par exemple, erreur dentrée. Ce que jai suggéré (find . -name '*.jpg' -exec jhead -ft {} +) est ce que vous auriez besoin dutiliser si vous vouliez lexécuter à partir du chemin du répertoire souhaité. Le point comme chemin signifie  » répertoire local « . find nécessite un chemin de recherche de départ. Ceci est disponible sur les pages de manuel de find ‘.
  • En ce qui concerne les explications aux non-programmeurs: les bonnes réponses sont absolument souhaité sur les sites Stack Exchange. À condition , cependant, quil sagisse de réponses à la question. Veuillez prendre un moment pour visionner la brève Visite du site pour avoir une idée de la différence entre les sites Stack Exchange et les forums Internet orientés discussion.

Réponse

Je lai suggéré à lauteur de PhotoRenamer, qui a répondu …

PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php

Jajoute un bouton dans longlet Options du ruban .. De là, vous pouvez sélectionner loption de mise à jour de létat horaire du fichier du fichier ..

Au fait, pour éviter lutilisation de masque, jajoute aussi un nouvel attribut de masque:% F. Si vous utilisez ce simple masque, le fichier est renommé … avec son propre nom … Vous nêtes donc pas obligé de renommer le fichier dont vous souhaitez mettre à jour les attributs dheure du fichier …

Réponse

Lautre programme gratuit est Google Picasa – vous pouvez facilement modifier la date et lheure pour tous les photos:

entrez la description de limage ici

entrez la description de limage ici

Bel article à ce sujet: Comment remplacer la date dune photo dans Picasa par celle de la prise de vue

Commentaires

  • Comment cette solution travail ? LOP souhaite modifier la date du fichier pour quelle corresponde à la date EXIF . Ce nest probablement pas ce que fait Picasa.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *