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]