Répondre à la discussion

Bonsoir,



les fichiers photos ont dans les données Exif beaucoup de dates.

la date d'origine de la prise de la photo ne change jamais, Par contre la date de création du fichier (dans l'ordinateur) est bien mise lorsque l'on crée le fichier.

Le finder te montre cette date de création du fichier, alors que les applications de gestion de photos (Photos) sur mac trient les fichiers sur la date d'origine.


Il existe plein d'applications pour gérer les dates (pas gratuites).


Un petit script peu donc copier la date d'origine de la photo pour la coller dans la date de création du fichier.

Donc pas besoin de s'occuper de la date contenue dans le nom.


Pour utiliser le script ci-dessous, il faut au préalable télécharger le logiciel ExifTool et l'installer (il ajoute une commande dans le système) à télécharger la:  https://exiftool.org/      prendre la version   MacOS Package: ExifTool-11.94.dmg (2.9 MB).


ensuite exécuter le script ci-dessous.

Il te demande de sélectionner le dossier contenant les fichiers à traiter, et il te met un message lorsqu'il a fini.

Dis moi si c'est bon !

[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 -DateTimeOriginal " & 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[/CODE]