• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

Perte des dates des photos

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
@Oliver74000
Bonjour,
Après avoir regardé de plus prés, pour changer la date du fichier par la date de création de la vidéo il suffit de remplacer : -DateTimeOriginal par -CreateDate.
Ce qui donne comme nouveau script:

Bloc de code:
-- remplace date du fichier par la date exif creation

tell application "Finder"
    set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à redater"
    my inspecter(Chemin)
end tell

on inspecter(un_dossier)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            set chaque_fichier to chaque_fichier as string
           
           
            try
                set datephoto to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of chaque_fichier -- avec exiftool installé
               
            on error
                set datephoto to ""
            end try
           
           
            if length of datephoto > 20 then
                set DateOriginale to text -20 thru -1 of datephoto
                set ladate to text 1 thru -16 of DateOriginale
                set ladate to ladate & text 7 thru -13 of DateOriginale
                set ladate to ladate & text 10 thru -10 of DateOriginale
                set ladate to ladate & text 13 thru -7 of DateOriginale
                set ladate to ladate & text 16 thru -4 of DateOriginale
                set ladate to ladate & "." & text 19 thru -1 of DateOriginale
                do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
            end if
           
           
        end repeat
       
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
   
end inspecter
tell application "Finder"
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 

Oliver74000

Nouveau membre
7 Janvier 2019
7
0
51
Ah d'accord... cela marche uniquement pour les photos....
Est ce possible de l'adapter facilement pour les vidéos ?
En tout cas merci pour ton aide....
Bonne Année 2019 et meilleurs voeux. !!!!
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Je viens de te l'adapter pour les vidéos, voir le post juste au dessus.
 

Oliver74000

Nouveau membre
7 Janvier 2019
7
0
51
Re bonjour,
Ce script n'a pas l'air de fonctionner pour moi
Je viens de m'apercevoir que ce sont les vidéos au format AVI qui ne s'incrémentent pas à la date de la prise de vue mais à la date de l'importation.
Les autres vidéos aux autres formats sont OK.....
Rappel, c'est pour importation vers PHOTOS de mac os X
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Je ne comprend pas trop ton problème. Le script à pour but de lire la date de création de la vidéo et de la mettre en lieu et place de la date de création du fichier.

je m'explique: Lors de la prise de vue le logiciel de la caméra écrit la date (de réglage de l'appareil) dans les données exif du fichier.
Lors de la copie de ce fichier sur l'ordi, le finder de l'ordi crée donc un fichier vidéo et écrit la date de création de ce fichier dans les données exif, c'est cette date que tu lis dans le finder en faisant lire les information (cmd + i) sur le fichier.

Et de plus il existe, dans les exif, en fonction de la camèra plein d'autre date: modification, création de la piste vidéo, création de la piste audio etc...

Pour voir la totalité des données exif, tu ouvres: applications > Utilitaires > terminal, tu écris : exiftool -g , tu tapes un espace puis tu fais un glissé, déposé de ton fichier vidéo, et enfin tu fais entrée.
Tu obtiendras une liste des données exif de ton fichier, tu pourra y voir les différentes dates qu'il contient.
 

Oliver74000

Nouveau membre
7 Janvier 2019
7
0
51
Bonjour Zeltron54
J'ai donc essayé la procédure exiftool -g après avoir relancé ton script "video" (>>fait le 09/01/19 à 7h14)
Voici les données exif de la vidéo :
ExifTool Version Number : 11.23
---- File ----
File Name : MVI_0827.AVI
Directory : /Users/Pictures/ALBUMS DE FAMILLE/2014/janvier/Video
File Size : 68 MB
File Modification Date/Time : 2014:01:05 22:06:22+01:00
File Access Date/Time : 2019:01:09 07:14:50+01:00
File Inode Change Date/Time : 2019:01:08 20:16:12+01:00
File Permissions : rwx--x--x
File Type : AVI
File Type Extension : avi
MIME Type : video/x-msvideo
BMP Version : Windows V3
..................

Mon problème reste que j'ai environ 500 fichiers Vidéos au format AVI qui lors de l'importation dans le logiciel PHOTOS, prennent pour date janvier 2019 au lieu de la date de création indiquée dans information du fichier concerné.
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Ton fichier n'a pas de date de création. L'appareil avec lequel cette vidéo a été faite ne devait pas avoir de date renseigné, donc les seules dates qui exitent dans ton fichier sont:
- la date de modification du fichier (pas de la vidéo): le 5 janvier 2014
- La date du dernier accès à ton fichier : le 9 janvier 2019
- La date du dernier changement : le 8 janvier 2019
 

Oliver74000

Nouveau membre
7 Janvier 2019
7
0
51
Merci pour tes explications. c'est vraiment très gentil de ta part de me répondre aussi rapidement et efficacement....

Y a t-il un moyen de créer une date de création sur ce fichier exif en utilisant la date de modification du fichier ?
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Pas à ma connaissance !
De plus les fichiers avec un conteneur en .AVI peuvent contenir une multitude de format dont certain ne peuvent pas avoir d'accès en écriture sur les données exif.
J'ai fait différents essais sur des fichiers avi, sans trouvé de solution évidente.
J'ai même essayé sans plus de succès avec le logiciel GraphicConverter pourtant réputé pour cela.

Désolé de ne pouvoir t'aider sur ce coup là.
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
J'ai réussi sur certain fichiers AVI à récupérer la date et à l'inscrire. Mais beaucoup de fichiers ont des formats incompatibles (en lecture seulement) et certain ne peuvent même pas être importés dans photo.
Je te met le script modifié, à utiliser avec précaution sur des copies....

Bloc de code:
-- remplace date du fichier par la date de modification (date lue avec exiftool au format: File Modification Date/Time     : 2008:08:27 00:23:45+02:00)

tell application "Finder"
    set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à redater"
    my inspecter(Chemin)
end tell

on inspecter(un_dossier)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            set chaque_fichier to chaque_fichier as string
           
           
            try
                set datephoto to do shell script "/usr/local/bin/exiftool -fileModifyDate " & quoted form of POSIX path of chaque_fichier -- avec exiftool installé
               
            on error
                set datephoto to ""
            end try
                       
            if length of datephoto > 20 then
                set DateOriginale to text -26 thru -7 of datephoto
                set ladate to text 1 thru -16 of DateOriginale
                set ladate to ladate & text 7 thru -13 of DateOriginale
                set ladate to ladate & text 10 thru -10 of DateOriginale
                set ladate to ladate & text 13 thru -7 of DateOriginale
                set ladate to ladate & text 16 thru -4 of DateOriginale
                set ladate to ladate & "." & text 19 thru -1 of DateOriginale
               
                do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
            end if
           
           
        end repeat
       
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
   
end inspecter
tell application "Finder"
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 

Oliver74000

Nouveau membre
7 Janvier 2019
7
0
51
Merci beaucoup mais je vais me résoudre à renseigner date par date tous les fichiers video concernés par mon problème
Merci pour tout
Bonne continuation !!
 

mimymily40

Nouveau membre
24 Janvier 2019
7
0
40
Bonjour @zeltron54,
Je me permets de rentrer dans cette conversation.
Je n'arrive pas à créer ce nouveau script dans éditeur de script. Je suis sous MOJAVE 10.14. Quand j'ouvre l'éditeur de script, j'ai une longue liste d'action sur la gauche... désolée, tout ça est un peu nouveau pour moi! ;-)
Comment créer un nouveau script et l'exécuter?
Merci pour tes réponses.
 
Dernière édition:

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
@mimymily40
Bonjour,
Si tu pouvais expliquer, ce que tu veux faire.
quels sont les éléments de départ et ce que tu veux obtenir. Au vu de ça on regarde ce qu'il est possible de faire et de quelle manière.
Une fois le script adapté à ton problème on verra comment le mettre en oeuvre dans Mojave ...
 
  • J’aime
Réactions: wip

mimymily40

Nouveau membre
24 Janvier 2019
7
0
40
Hello @zeltron54 et merci pour ta réponse. En effet, désolée, j'ai pas vraiment expliqué pourquoi j'étais là! ;-)
En fait, j'ai transférer toutes mes photos depuis mon iPhone sur mon iMac. Elles sont bizarrement nommées et surtout pas du tout dans l'ordre où je les ai prise. Je souhaite en fait les renommer uniquement de la date de prise de vue (et non de création ou de transfert fichier!). Ainsi je pourrais les retrouver par ordre chronologique.
Je cherchais donc comment faire, je suis tombé sur votre discussion et notamment ton post avec le script à intégrer pour que cette action se fasse.
J'ai téléchargé Exiftool mais ensuite je bloque un peu sur la partie "Editeur de Script" dans mes applications. Quand j'ouvre l'application, j'ai déjà plein de script et je sais pas trop comment me dépatouiller avec un nouveau script.... Vois-tu?
 

Fichiers joints

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Bonjour,

Tu vas faire un copié du script qui est dans cette discussion en message #14.

Tu ouvres l'application Editeur de script qui est dans application > Utilitaires > Editeur de script

Tu fais un collé dans la fenêtre, puis il suffit de cliquer sur la flèche en haut nommée Exécuter.
Le script te demande de choisir le dossier contenant les photos à dater tu valides le choix et c'est tout, lorsque c'est fini il te prévient.
ATTENTION le script modifie tous les fichiers du dossier et de ses sous+dossiers.
 

mimymily40

Nouveau membre
24 Janvier 2019
7
0
40
ok merci @zeltron54, mais du coup j'ajoute juste ton script à ce qui apparait déjà comme tu peux le voir sur la copie d'écran? ou j'efface tout ce qui apparait en violet?
C'est con désolée mais je'suis larguée!
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Lorsque tu ouvres l'application Editeur de script , elle devrait s'ouvrir avec une fenêtre vierge.
Si c'est pas le cas, ferme la fenêtre, puis dans le menu choisi: Fichier>nouveau, tu obtiendras une fenêtre vierge pour coller le script.
 

mimymily40

Nouveau membre
24 Janvier 2019
7
0
40
Merveilleux! Ca marche! merci @zeltron54!
J'ai ensuite ouvert les photos sur Lightroom et renommé à la date.... dernière question, sais-tu comment, dans lightroom renommer AAAAMMJJ? je crois que je ne peux que renommer JJMMAAA et du coup c'est pas forcément dans l'ordre chronologique...
 

zeltron54

Membre d’élite
29 Mars 2008
1 437
211
Lorraine
Désolé, je n 'ai pas lightroom donc je ne connaît pas !
Mais il existe un multitude de logiciel pour renommer les photos et même avec le finder du mac (sélectionner les photos à renommer, puis clic droit et renommer, choisir les options qui vont bien).