Oui mais justement quelle ligne de commande pourrais mettre la date exif automatiquement sans que ce soit nous de la rentrer ?Si après la manipulation de ton application, la commande stat retourne la bonne date à l'un des endroits: oui
Oui mais justement quelle ligne de commande pourrais mettre la date exif automatiquement sans que ce soit nous de la rentrer ?Si après la manipulation de ton application, la commande stat retourne la bonne date à l'un des endroits: oui
user@iMac:~/Desktop$ stat *
16777224 64764023 -rwxr-xr-x 1 user staff 0 10850711 "Jan 21 12:52:08 2018" "Jan 21 12:51:56 2018" "Jan 21 12:53:15 2018" "Sep 10 16:42:25 2016" 4096 21200 0x40 2016-09-10 16.42.25 - original.jpg
16777224 64764066 -rw-r--r-- 1 user staff 0 17323345 "Jan 21 12:53:26 2018" "Jan 21 12:51:56 2018" "Jan 21 12:53:17 2018" "Jan 21 12:50:08 2018" 4096 33840 0x40 2016-09-10 16.42.25.jpg
user@iMac:~/Desktop$ touch -t 201609101642.25 "2016-09-10 16.42.25.jpg"
user@iMac:~/Desktop$ stat *
16777224 64764023 -rwxr-xr-x 1 user staff 0 10850711 "Jan 21 12:55:09 2018" "Jan 21 12:51:56 2018" "Jan 21 12:53:15 2018" "Sep 10 16:42:25 2016" 4096 21200 0x40 2016-09-10 16.42.25 - original.jpg
16777224 64764066 -rw-r--r-- 1 user staff 0 17323345 "Sep 10 16:42:25 2016" "Sep 10 16:42:25 2016" "Jan 21 12:55:04 2018" "Sep 10 16:42:25 2016" 4096 33840 0x40 2016-09-10 16.42.25.jpg
user@iMac:~/Desktop$
Sinon, on peut aussi se baser sur le nom du fichier vu qu'apparement tu lui as mis la date.
Aucun souci, il me faut juste un exemple de nom
#!/bin/bash
#Pour le rendre executable :
#chmod +x photo.sh
#Pour le lancer
#./photo.sh
repertoire_photo="/Users/Gregoryen/Desktop"
#Modification date
function modifier_date {
date_fichier=$( basename "$1" | cut -c 1-17 | sed "s/\(....\)-\(..\)-\(..\) \(....\)\(..\)/\1\2\3\4.\5/" )
touch -t $date_fichier "$1"
}
export -f modifier_date
find "${repertoire_photo}" -name "????-??-?? ??????.jpg" -exec bash -c 'modifier_date "{}"' \;
exit
chmod +x photo.sh
./photo.sh
Voici le petit script qui va te faire ça (à appeler photo.sh par exemple)
Tu le mets où tu veux, il faudra faire cette commande pour le rendre executable :
Bloc de code:chmod +x photo.sh
Le répertoire "repertoire_photo" est à modifier par le nom du vrai répertoire où tu as toutes tes photos. Ca ira chercher tout les fichiers "aaaa-mm-jj hhmmss.jpg" dans ce répertoire et les sous-répertoires associés pour les traiter.
Une fois le script prêt à être lancer, la commande pour le lancer est la suivante:
Bloc de code:./photo.sh
Bloc de code:#!/bin/bash #Pour le rendre executable : #chmod +x photo.sh #Pour le lancer #./photo.sh repertoire_photo="/Users/Gregoryen/Desktop" #Modification date function modifier_date { date_fichier=$( basename "$1" | cut -c 1-17 | sed "s/\(....\)-\(..\)-\(..\) \(....\)\(..\)/\1\2\3\4.\5/" ) touch -t $date_fichier "$1" } export -f modifier_date find "${repertoire_photo}" -name "????-??-?? ??????.jpg" -exec bash -c 'modifier_date "{}"' \; exit
cd "repertoire ou est le script"
chmod +x photo.sh
./photo.sh
repertoire_photo="/Users/Gregoryen/Desktop"
function modifier_date {
date_fichier=$( basename "$1" | cut -c 1-17 | sed "s/\(....\)-\(..\)-\(..\) \(....\)\(..\)/\1\2\3\4.\5/" )
touch -t $date_fichier "$1"
}
export -f modifier_date
find "${repertoire_photo}" -name "????-??-?? ??????.jpg" -exec bash -c 'modifier_date "{}"' \;
Ah coolAh j'ai compris le truc en fait et cela a marché !!! Merci énormément pour ton aide !! PROBLEME RESOLU avec succès !!! T'es un bosss !!!
Après coup, je me suis dit que ce n'étais peut être pas bien expliqué pour toi ...
J'ai remis le script au début dans mon post précédent. Il s'agit de la partie commençant par "#!/bin/bash"
Il faut créer un fichier "photo.sh" contenant ce script par exemple sur ton bureau.
Ces autres commandes seront à faire via le terminal
Bloc de code:cd "repertoire ou est le script" chmod +x photo.sh ./photo.sh
Ou sinon, tu tapes les commandes suivantes directement dans le terminal (sans doute plus simple pour toi) :
Bloc de code:repertoire_photo="/Users/Gregoryen/Desktop" function modifier_date { date_fichier=$( basename "$1" | cut -c 1-17 | sed "s/\(....\)-\(..\)-\(..\) \(....\)\(..\)/\1\2\3\4.\5/" ) touch -t $date_fichier "$1" } export -f modifier_date find "${repertoire_photo}" -name "????-??-?? ??????.jpg" -exec bash -c 'modifier_date "{}"' \;