Script pour EXIF

Pour récupérer ses photos stockées sur GooglePhotos :
– sauvegarde ;
– récupération du .zip ;
– problème : les photos sont à la date du jour.

Possibilité de récupération des dates grâce aux données EXIF, qui sont stockés dans le fichier image lui-même (idem pour film semble-t-il).

Une commande du shell sous Mac os, avec terminal : mdls.

mdls temp/PELOPONNESE-20220823110742.JPG
_kMDItemDisplayNameWithExtensions = « PELOPONNESE-20220823110742.JPG »
kMDItemAcquisitionMake = « Apple »
kMDItemAcquisitionModel = « iPhone SE (2nd generation) »
kMDItemAltitude = 34.42528991971454
kMDItemAperture = 1.69599381283836
kMDItemBitsPerSample = 24
kMDItemColorSpace = « RGB »
kMDItemContentCreationDate = 2022-08-23 11:07:42 +0000
kMDItemContentCreationDate_Ranking = 2022-08-23 00:00:00 +0000
kMDItemContentModificationDate = 2022-08-23 11:07:42 +0000
kMDItemContentType = « public.jpeg »
kMDItemContentTypeTree = (
« public.jpeg »,
« public.image »,
« public.data »,
« public.item »,
« public.content »
)
kMDItemCreator = « 15.6.1 »
kMDItemDateAdded = 2023-03-06 11:41:42 +0000
kMDItemDisplayName = « PELOPONNESE-20220823110742.JPG »
kMDItemDocumentIdentifier = 0
kMDItemEXIFGPSVersion = « 2.2.0.0 »
kMDItemEXIFVersion = « 2.3.2 »
kMDItemExposureMode = 0
kMDItemExposureProgram = 2
kMDItemExposureTimeSeconds = 0.0002469745616201531
kMDItemFlashOnOff = 0
kMDItemFNumber = 1.8
kMDItemFocalLength = 3.99
kMDItemFocalLength35mm = 28
kMDItemFSContentChangeDate = 2022-08-23 09:07:00 +0000
kMDItemFSCreationDate = 2022-08-23 09:07:00 +0000
kMDItemFSCreatorCode = «  »
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = « PELOPONNESE-20220823110742.JPG »
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 2668546
kMDItemFSTypeCode = «  »
kMDItemGPSDestBearing = 297.1589353612167
kMDItemHasAlphaChannel = 0
kMDItemImageDirection = 297.1589353612167
kMDItemInterestingDate_Ranking = 2023-03-06 00:00:00 +0000
kMDItemISOSpeed = 25
kMDItemKind = « Image JPEG »
kMDItemLatitude = 37.047375
kMDItemLogicalSize = 2668546
kMDItemLongitude = 22.1153445
kMDItemMeteringMode = 5
kMDItemOrientation = 1
kMDItemPhysicalSize = 2670592
kMDItemPixelCount = 12192768
kMDItemPixelHeight = 4032
kMDItemPixelWidth = 3024
kMDItemProfileName = « Display P3″
kMDItemRedEyeOnOff = 0
kMDItemResolutionHeightDPI = 72
kMDItemResolutionWidthDPI = 72
kMDItemSpeed = 0.145747691455573
kMDItemWhiteBalance = 0
philippe@MacMini2022-Filaire Desktop %

Le script pour renommer un lot de fichiers :

# Nom …… : dater.sh
# Role ….. : récupère les données EXIF pour la date et l’heure
# : renomme les fichiers avec un préfixe et le moment de création
# Version .. : 06/03/2022 : base
#
PREFIXE= »PELOPONNESE »
REPERTOIRE=temp

for fichier in $REPERTOIRE/*.*
do
#!/bin/bash
# Nom …… : dater.sh
# Role ….. : récupère les données EXIF pour la date et l’heure
# : renomme les fichiers avec un préfixe et le moment de création
# Version .. : 06/03/2022 : base
#
PREFIXE= »PELOPONNESE »
REPERTOIRE= »temp »
clear

for fichier in $REPERTOIRE/*.*
do

# Récupération des données

dateCreation=$(mdls $fichier -n kMDItemContentCreationDate |awk « {print $3$4} »|sed « s/[^0-9]*//g »)

longueur=${#dateCreation}

# Changement de la date

# echo ${dateCreation:0:12} ». »${dateCreation:12:2}

touch -t ${dateCreation:0:12} ». »${dateCreation:12:2} $fichier

# Changement du nom des fichiers avec lien(dans préfixe) et date

nouveauNom= »$REPERTOIRE/$PREFIXE-${dateCreation:0:14}.${fichier##*.} »

echo « Nouveau nom  » $nouveauNom
mv $fichier $nouveauNom

done