Ouvrez un shell et vérifiez le contenu du répertoire avec la commande "ls".
$ ls DSCN3449.JPG DSCN3450.JPG DSCN3451.JPG DSCN3452.JPG DSCN3453.JPG DSCN3454.JPG DSCN3455.JPG DSCN3456.JPG
Vérifiez la date d'une des images du répertoire avec "exiv2 image.jpg"
$ exiv2 DSCN3449.JPG
Nom du fichier : DSCN3449.JPG Taille du fichier : 1230426 Octets Type MIME : image/jpeg Taille de l'image : 2304 x 3072 Marque de l'appareil : NIKON Modèle de l'appareil : COOLPIX L12 Horodatage de l'image : 2010:05:02 05:32:43 Numéro de l'image : Temps d'exposition : 1/469 s Ouverture : F2.8
La date affiche 02/05/2010 à 05:32:43 alors que l'image a été prise (supposons) le 01/05/2012 à entre 14h et 15h.
Nous allons modifier la ligne "Horodatage de l'image: 2010:05:02 05:32:43" en ligne de commande.
Plusieurs champs peuvent intervenir pour l'affichage de l'heure, on peut vérifier avec la ligne suivante:
exiv2 -p v DSCN3449.JPG | grep DateTime
$ exiv2 -p v DSCN3449.JPG | grep DateTime 0x0132 Image DateTime Ascii 20 2010:05:02 05:32:43 0x9003 Photo DateTimeOriginal Ascii 20 2010:05:02 05:32:43 0x9004 Photo DateTimeDigitized Ascii 20 2010:05:02 05:32:43
Il y a donc trois champs à modifier.
On peut déjà modifier la première photo en trois ligne avec la commande "exiv2" et l'option "-Mset"
$ exiv2 -M"set Exif.Image.DateTime 2012:05:01 14:32:43" DSCN3449.JPG $ exiv2 -M"set Exif.Photo.DateTimeOriginal 2012:05:01 14:32:43" DSCN3449.JPG $ exiv2 -M"set Exif.Photo.DateTimeDigitized 2012:05:01 14:32:43" DSCN3449.JPG
Oui, mais si vous avez plusieurs photos cela risque de devenir très vite fastidieux, l'idéal est de trouver la bonne boucle à faire.
Déplacez l'image que vous venez de modifier pour éviter que les changements lui soient appliqués.
Faire une modification de date dans une boucle, c'est risquer de se retrouver avec tous les clichés à la même date, à la seconde près. A moins de faire un script assez complexe.
Nous allons nous simplifier la tâche en ajustant l'heure. L'option "ad" de la commande "exiv2" permet l'ajustement de cette donnée en ajoutant ou retirant des tranches de temps. En fait, il faudra préciser le nombre d'années, mois, jours et heures de décalage.
Dans un premier temps nous allons chercher l'intervalle entre la date du cliché et celui de la prise de vue, soit (01/05/2012 14:32 - 02/05/2010 05:32).
Vous pouvez utiliser un tableur ou un calculateur en ligne.
Résultat: 1 year, 11 months, 29 days, 9 hours
Une fois le décalage évalué, on va l'appliquer avec "exiv2", donc ajouter 1 ans, 11 mois, 29 jours, 9 heures et 00 minutes, il suffit d'exécuter:
"exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad image.jpg"
Mais nous allons l'introduire dans une boucle "For Do Done"
$ for i in *; do exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad $i;done
Vérifions sur une des images:
$ exiv2 -p v DSCN3452.JPG | grep DateTime 0x0132 Image DateTime Ascii 20 2012:05:01 14:36:22 0x9003 Photo DateTimeOriginal Ascii 20 2012:05:01 14:36:22 0x9004 Photo DateTimeDigitized Ascii 20 2012:05:01 14:36:22
Réussi !
Maintenant vous pouvez renommer vos photos en utilisant la date et heure du fichier exif.
Derniers commentaires