Bonjour,Bonjour Karupat
Je suis content que mon petit script ai pu te rendre service.
Je l'ai donc modifié
En espérant que cela te convienne.
- Si un fichier n'a pas de date exif renseigné, alors il n'est pas touché
- Le script inspecte toute la hiérarchie du dossier sélectionné avec tous ses sous-dossiers
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 -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
Merci beaucoup pour cette réponse rapide, je n'ai plus qu'à emprunter le Mac de quelqu'un pour faire ce que j'ai à faireBonjour @Marionita7
Malheureusement la réponse est non, les scripts "applescript" sont écrits dans une langage spécifique au Mac.
Pour windows, il doit exister des possibilités pour résoudre ses problèmes (scripts ou petits programmes), mais là je ne maîtrise pas !
Bonjour,Bonjour,
La date "modifié le " est la date de modification du fichier.
La date de "création" est la date de création du fichier (pas la date de création de la photo !)
Tes photos "capture" ne montre pas les bonnes informations, fais un copié coller de toutes les infos "exiftool" dans un bloc code (les 3 petits point (dernier icone), et </>), pour voir la date de création de la photo !
Quel est exactement ton besoin (changer la date de création du fichier ou de la photo) et dans quel but ?
Au vue de ces infos on verra ce que tu veux et peux obtenir...
ilanamouyal@MacBook-Pro-de-Ilan ~ % exiftool -g /Users/ilanamouyal/Downloads/Extract/dossier\ sans\ titre/2016\:08\:12_10.17.47.jpg
---- ExifTool ----
ExifTool Version Number : 12.65
---- File ----
File Name : 2016:08:12_10.17.47.jpg
Directory : /Users/ilanamouyal/Downloads/Extract/dossier sans titre
File Size : 194 kB
File Modification Date/Time : 2016:08:12 10:17:47+02:00
File Access Date/Time : 2023:08:13 10:16:08+02:00
File Inode Change Date/Time : 2023:08:13 10:16:06+02:00
File Permissions : -rwxr-xr-x
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
Exif Byte Order : Big-endian (Motorola, MM)
Current IPTC Digest : d41d8cd98f00b204e9800998ecf8427e
Image Width : 1334
Image Height : 750
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
---- JFIF ----
JFIF Version : 1.01
---- EXIF ----
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Exif Version : 0221
Components Configuration : Y, Cb, Cr, -
Flashpix Version : 0100
Color Space : sRGB
Exif Image Width : 750
Exif Image Height : 1334
Scene Capture Type : Standard
---- Photoshop ----
IPTC Digest : d41d8cd98f00b204e9800998ecf8427e
---- Composite ----
Image Size : 1334x750
Megapixels : 1.0
ilanamouyal@MacBook-Pro-de-Ilan ~ %
ilanamouyal@MacBook-Pro-de-Ilan ~ % exiftool -g /Users/ilanamouyal/Downloads/Extract/dossier\ sans\ titre/2016\:08\:12_10.22.42.mp4
---- ExifTool ----
ExifTool Version Number : 12.65
---- File ----
File Name : 2016:08:12_10.22.42.mp4
Directory : /Users/ilanamouyal/Downloads/Extract/dossier sans titre
File Size : 18 MB
File Modification Date/Time : 2016:08:12 10:22:42+02:00
File Access Date/Time : 2023:08:13 10:22:46+02:00
File Inode Change Date/Time : 2023:08:13 10:16:06+02:00
File Permissions : -rwxr-xr-x
File Type : MP4
File Type Extension : mp4
MIME Type : video/mp4
---- QuickTime ----
Major Brand : MP4 v2 [ISO 14496-14]
Minor Version : 0.0.1
Compatible Brands : mp41, mp42, isom
Movie Header Version : 0
Create Date : 2019:09:23 07:22:43
Modify Date : 2019:09:23 07:22:44
Time Scale : 600
Duration : 0:00:45
Preferred Rate : 1
Preferred Volume : 100.00%
Preview Time : 0 s
Preview Duration : 0 s
Poster Time : 0 s
Selection Time : 0 s
Selection Duration : 0 s
Current Time : 0 s
Next Track ID : 3
Track Header Version : 0
Track Create Date : 2019:09:23 07:22:43
Track Modify Date : 2019:09:23 07:22:44
Track ID : 1
Track Duration : 0:00:45
Track Layer : 0
Track Volume : 100.00%
Balance : 0
Audio Format : mp4a
Audio Channels : 2
Audio Bits Per Sample : 16
Audio Sample Rate : 44100
Matrix Structure : 1 0 0 0 1 0 0 0 1
Image Width : 720
Image Height : 1280
Media Header Version : 0
Media Create Date : 2019:09:23 07:22:43
Media Modify Date : 2019:09:23 07:22:44
Media Time Scale : 600
Media Duration : 0:00:45
Media Language Code : und
Handler Type : Video Track
Handler Description : Core Media Video
Graphics Mode : srcCopy
Op Color : 0 0 0
Compressor ID : avc1
Source Image Width : 720
Source Image Height : 1280
X Resolution : 72
Y Resolution : 72
Bit Depth : 24
Color Profiles : nclx
Color Primaries : BT.709
Transfer Characteristics : BT.709
Matrix Coefficients : BT.709
Video Frame Rate : 29.97
Media Data Size : 17817879
Media Data Offset : 18256
---- Composite ----
Image Size : 720x1280
Megapixels : 0.922
Avg Bitrate : 3.16 Mbps
Rotation : 0
ilanamouyal@MacBook-Pro-de-Ilan ~ %
-- ecrit la date de prise de vue avec la date de modification du fichier
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
end try
set datephoto to text 34 thru -1 of datephoto
do shell script "/usr/local/bin/exiftool -CreateDate='" & datephoto & "' " & quoted form of POSIX path of chaque_fichier
do shell script "/usr/local/bin/exiftool -DateTimeOriginal='" & datephoto & "' " & quoted form of POSIX path of chaque_fichier
delete chaque_fichier & "_original"
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
on open the droppeditems
set nom to the droppeditems
set nom to nom as string
display dialog "Entrer la date de creation AAAA:MM:JJ:HH:MN:SS" default answer ""
set ladate to text returned of result
set lacommande1 to "/usr/local/bin/exiftool -datetimeoriginal=" & ladate & " " & quoted form of POSIX path of nom
set lacommande2 to "/usr/local/bin/exiftool -createdate=" & ladate & " " & quoted form of POSIX path of nom
set datephoto to do shell script lacommande1
set datephoto to do shell script lacommande2
set lacommande3 to "rm " & quoted form of POSIX path of nom & "_original"
set datephoto to do shell script lacommande3
--pour date création et modification
set yy to text 3 thru 4 of ladate
set yyyy to text 1 thru 4 of ladate
set mm to text 6 thru 7 of ladate
set jj to text 9 thru 10 of ladate
set hh to text 12 thru 13 of ladate
set mn to text 15 thru 16 of ladate
set ladate to mm & "/" & jj & "/" & yyyy & " " & hh & ":" & mn
set lacommande1 to "setfile -m " & "'" & ladate & "'" & " " & quoted form of POSIX path of nom
set lacommande2 to "setfile -d " & "'" & ladate & "'" & " " & quoted form of POSIX path of nom
do shell script lacommande1
do shell script lacommande2
end open
Salut @zeltron54,Effectivement tes photos ne possède pas de données exif de la prise de vue, seulement les exif du fichier.
Pour ajouter la date de la prise de vue:
solution 1 :
Se servir de la date de modification du fichier, qui change à chaque foi que le fichier est modifié et enregistré.
Tes fichiers à dater étant tous dans un dossier...
Voilà le script
Bloc de code:-- ecrit la date de prise de vue avec la date de modification du fichier 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 end try set datephoto to text 34 thru -1 of datephoto do shell script "/usr/local/bin/exiftool -CreateDate='" & datephoto & "' " & quoted form of POSIX path of chaque_fichier do shell script "/usr/local/bin/exiftool -DateTimeOriginal='" & datephoto & "' " & quoted form of POSIX path of chaque_fichier delete chaque_fichier & "_original" 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
Solution 2 :
Entrer une date manuellement, pour cela
Tu fais un copier, coller du script ci-dessous dans une fenêtre de l'appli Editeur de script .
Tu "enregistres sous" et tu choisis format application. tu obtiens une application dropplet (qui fonctionne par glisser déposer)
Tu glisses, déposes un fichier photo sur l'icone de cette appli, cela te demande d'entrer la date à mettre. Il faut saisir cette date au format : AAAA:MM:JJ:HH:MN:SS année, mois, jour, heure, minute, seconde chaque valeur séparée par :
Exemple pour aujoud'hui 8h53 --> 2023:08:13:08:53:00
Bloc de code:on open the droppeditems set nom to the droppeditems set nom to nom as string display dialog "Entrer la date de creation AAAA:MM:JJ:HH:MN:SS" default answer "" set ladate to text returned of result set lacommande1 to "/usr/local/bin/exiftool -datetimeoriginal=" & ladate & " " & quoted form of POSIX path of nom set lacommande2 to "/usr/local/bin/exiftool -createdate=" & ladate & " " & quoted form of POSIX path of nom set datephoto to do shell script lacommande1 set datephoto to do shell script lacommande2 set lacommande3 to "rm " & quoted form of POSIX path of nom & "_original" set datephoto to do shell script lacommande3 --pour date création et modification set yy to text 3 thru 4 of ladate set yyyy to text 1 thru 4 of ladate set mm to text 6 thru 7 of ladate set jj to text 9 thru 10 of ladate set hh to text 12 thru 13 of ladate set mn to text 15 thru 16 of ladate set ladate to mm & "/" & jj & "/" & yyyy & " " & hh & ":" & mn set lacommande1 to "setfile -m " & "'" & ladate & "'" & " " & quoted form of POSIX path of nom set lacommande2 to "setfile -d " & "'" & ladate & "'" & " " & quoted form of POSIX path of nom do shell script lacommande1 do shell script lacommande2 end open
Après exécution d'un des 2 scripts, les fichiers originaux seront dans la corbeille renommer avec ajout de "_original"...
Suivant si la date de modification du fichier est la bonne ou pas tu choisis ta solution.