Quand je classes mes photos/vidéos pour ne pas avoir de problèmes de noms de fichiers identiques, je les renommes par date de créations.
Je me suis fabriqué ce "script" qui extrait les données exif puis les mets en forme (et créé des fichiers txt pour chaque étapes)
Il faut installer exif programme en ligne de commande pour extraire les données exif des photos et pyrenamer programme avec interface graphique qui permet de renommer en masse.
En se plaçant dans le répertoire ou se trouvent les photos
Extrait les données exif
exif *.JPG > ../0data.txt
ici un extrait du fichier 0data.txt que j'obtiens avec la commande précédente.
Marqueurs EXIF dans'P1010989.JPG' (ordre des octets 'Intel') :
--------------------+----------------------------------------------------------
Marqueur |Valeur
--------------------+----------------------------------------------------------
Fabricant |Panasonic
Modèle |DMC-FZ38
Date et heure |.&checktime(2014,09,28,':') 18:57:49
Version d'exif |Version d'exif 2.21
Date and Time (Origi|.&checktime(2014,09,28,':') 09:13:42
Date and Time (Digit|.&checktime(2014,09,28,':') 09:13:42
Components Configura|Y Cb Cr -
--------------------+----------------------------------------------------------
Les données EXIF contiennent une vignette (7157 octets).
Marqueurs EXIF dans'P1010990.JPG' (ordre des octets 'Intel') :
--------------------+----------------------------------------------------------
Marqueur |Valeur
--------------------+----------------------------------------------------------
Fabricant |Panasonic
Modèle |DMC-FZ38
Date et heure |.&checktime(2014,09,28,':') 10:02:12
Version d'exif |Version d'exif 2.21
Date and Time (Origi|.&checktime(2014,09,28,':') 10:02:12
Date and Time (Digit|.&checktime(2014,09,28,':') 10:02:12
Components Configura|Y Cb Cr -
--------------------+----------------------------------------------------------
Les données EXIF contiennent une vignette (5945 octets).
Marqueurs EXIF dans'P1010991.JPG' (ordre des octets 'Intel') :
--------------------+----------------------------------------------------------
Marqueur |Valeur
--------------------+----------------------------------------------------------
Fabricant |Panasonic
Modèle |DMC-FZ38
Date et heure |.&checktime(2014,09,28,':') 11:28:09
Version d'exif |Version d'exif 2.21
Date and Time (Origi|.&checktime(2014,09,28,':') 11:28:09
Date and Time (Digit|.&checktime(2014,09,28,':') 11:28:09
Components Configura|Y Cb Cr -
--------------------+----------------------------------------------------------
Récupère les dates de prises de vues (< "charge" le fichier ../0data.txt) <../0data.txt | grep "Date and Time (Origi" > ../0rename0.txt
Remplace une chaîne de caractère (ici Date and Time (Origi| par rien) sed 's/Date and Time (Origi|//' ../0rename0.txt > ../0rename1.txt
Remplace les : par des - sed 's/:/-/'g ../0rename1.txt > ../0rename2.txt
Remplace les par des _ sed 's/ /_/'g ../0rename2.txt > ../0rename3.txt
Remplace le 14 ème caractère par h (ici 2014年09月28日_12-49-02 devient 2014年09月28日_12h49-02) sed -r 's/(.{13}).(.*)/1円h2円/' ../0rename3.tx ../0rename4.txt
Explications
partie gauche de la commande
(.{13}) désigne les 13 premiers caractères
. désigne le 14 ème caractère
(.*) désigne la suite de l'expression
partie droite de la commande
1円 reprends la chaîne de caractères désignée par (.{13})
h remplace .
2円 reprends la chaîne de caractères (.*)
Remplace le 17 ème caractère par m (ici 2014年09月28日_12h49-02 devient 2014年09月28日_12h49m02) sed -r 's/(.{16}).(.*)/1円m2円/' ../0rename4.txt > ../0rename5.txt
Tu peux directement copier-coller dans le terminal toutes les commandes d'un coup :
exif .JPG > ../0data.txt
< ../0data.txt | grep "Date and Time (Origi" > ../0rename0.txt
sed 's/Date and Time (Origi|//' ../0rename0.txt > ../0rename1.txt
sed 's/:/-/'g ../0rename1.txt > ../0rename2.txt
sed 's/ /_/'g ../0rename2.txt > ../0rename3.txt
sed -r 's/(.{13}).(.)/1円h2円/' ../0rename3.tx ../0rename4.txt
sed -r 's/(.{16}).(.*)/1円m2円/' ../0rename4.txt > ../0rename5.txt
Ensuite après avoir vérifié que le fichier ../0rename5.txt est cohérent, je l'utilises dans pyrenammer avec le menu "fichier/charger les noms depuis un fichier"
# Pour renommer tes photos
Posté par Julien_J06 . En réponse au message Aide commande FIND et copier les résultats.. Évalué à 3.
Quand je classes mes photos/vidéos pour ne pas avoir de problèmes de noms de fichiers identiques, je les renommes par date de créations.
Je me suis fabriqué ce "script" qui extrait les données exif puis les mets en forme (et créé des fichiers txt pour chaque étapes)
Il faut installer
exifprogramme en ligne de commande pour extraire les données exif des photos etpyrenamerprogramme avec interface graphique qui permet de renommer en masse.En se plaçant dans le répertoire ou se trouvent les photos
exif *.JPG > ../0data.txtici un extrait du fichier
0data.txtque j'obtiens avec la commande précédente.Récupère les dates de prises de vues (
<"charge" le fichier../0data.txt)<../0data.txt | grep "Date and Time (Origi" > ../0rename0.txtRemplace une chaîne de caractère (ici
Date and Time (Origi|par rien)sed 's/Date and Time (Origi|//' ../0rename0.txt > ../0rename1.txtRemplace les
:par des-sed 's/:/-/'g ../0rename1.txt > ../0rename2.txtRemplace les par des
_sed 's/ /_/'g ../0rename2.txt > ../0rename3.txtRemplace le 14 ème caractère par h (ici
2014年09月28日_12-49-02devient2014年09月28日_12h49-02)sed -r 's/(.{13}).(.*)/1円h2円/' ../0rename3.tx ../0rename4.txt(.{13})désigne les 13 premiers caractères.désigne le 14 ème caractère(.*)désigne la suite de l'expression1円reprends la chaîne de caractères désignée par(.{13})hremplace.2円reprends la chaîne de caractères(.*)Remplace le 17 ème caractère par m (ici
2014年09月28日_12h49-02devient2014年09月28日_12h49m02)sed -r 's/(.{16}).(.*)/1円m2円/' ../0rename4.txt > ../0rename5.txtTu peux directement copier-coller dans le terminal toutes les commandes d'un coup :
Ensuite après avoir vérifié que le fichier
../0rename5.txtest cohérent, je l'utilises danspyrenammeravec le menu "fichier/charger les noms depuis un fichier"Julien_c'est_bien (y'a pas que Seb)