Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/01/2025, à 22:45

poumtatalia

Comment renommer en masse des photos ?

Bonjour,
Je me permets de réactiver ce post pour une question similaire: comment changer <<Modération :  MODIFIER>> les dates "Access" ou "Created on"  pour qu'elles prennet les dates exif "Date taken" (en masse parce que plusieurs dizaines de milliers de photos dans des centaines de répertoires!).
Preneur d'idées wink

Dernière modification par Ayral (Le 24/01/2025, à 10:23)


Rookie abonné au LTS, en ce moment Ubuntu 24.04, mais pas moins débutant pour autant...

Hors ligne

#2 Le 07/01/2025, à 00:01

Frankkunst

Re : Comment renommer en masse des photos ?

bonjour,
regarde ceci
modifié le 22 janvier 2025

#!/bin/bash
#
#-----------------------------------------------------------Renommage de fichier "jpeg" sur la base des données EXIF----------------------
#-----------------------------------------------------------nom : RenomJPEG-Select - auteur : Frankkunst - version :1 - date 16/01/2025
#---------------------------------------------------------------------------*************-------------------------------------------------
#-------------------------------------------------------------------# Nettoyage #----------------------------------------------------------------------
: >~/temp/data
readonly INITD=$PWD
#------------------------------------------------------------# Déclaration + Fonction #----------------------------------------------------------------------
RESULTAT=()
#------------------------
function abandon {
zenity --info --width=600 --timeout=3 --text="\nAbandon de l'opération\n\nAucun fichier n'a été renommé\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function rnm {														## fonction de rennommage
g=0 m=0 h=0 k=0														## mise à zero des compteurs
for lignBrut in ${Args[@]}
	do
	nouvLigne=${lignBrut#"$NAUTILUS_SCRIPT_CURRENT_URI"}
	printf -v z '%s%b' "${INITD}" "${nouvLigne//%/\\x}"								## création variable "z" utilisable
	testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))						## test fichier jpeg
	sum=$(( $g * 100 / $nf ))											## Avancement %
	echo "$sum"													## Transmission à la barre de progression
	echo -e "#Veuillez patienter, renommage en cours ..... $sum %"							## Transmission en chiffre
	if [[ "$testfil" == "jpeg" ]] 				  							## contrôle jpeg
		then
			datefich=											## vidange de la variable
			if (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")
				then
					set $(exiv2 -qg Exif.Photo.DateTimeOriginal "$z")				## extraction données de datations
					datefich="$4"
				else
					datefich=
			fi						
			if [[ -n "$datefich" ]] && [[ "$datefich" != 0000:00:00 ]]					## contrôle présence de données
				then	((m++))
					f=$(printf "%03d" $m)	; e=${f: -3}						## mise en forme compteur sur trois chiffres
					exiv2 -r"$ordre""$e" rename "$z" 2>/dev/null 					## renommage
				else printf "\"$z\" ..... n'a pas de données de date !\n" >>fichInvalide.txt ; ((h++))
			fi
		else printf "\"$z\" ..... n'est pas un fichier \"jpeg\" donc pas traité !\n" >>fichInvalide.txt ; ((k++))
	fi
done
ret=([0]="$g" [1]="$m" [2]="$k" [3]="$h") ; printf '%s\n' "${ret[@]}" >>~/temp/data					## export des variables hors fonction
}
readarray -t Args <<< "$NAUTILUS_SCRIPT_SELECTED_URIS"
nf=${#Args[*]} ; ((nf--))
#-------------------------------------------------------------------# Entrée  + Choix #------------------------------------------------------------------------------- 
rep=$(zenity --forms --width=800	--title=" RenomJPEG-Select - Frankli " \
			--text="\n	Ce script utilise les données <span color=\"green\">\"exif\"</span> pour renommer les fichers .\nIl va rechercher la date originale de la prise de vue pour composer le nom de fichier .\n\nVous pouvez aussi entrer à l'invite une <span color=\"green\">\"étiquette\"</span> sous la forme d'un mot (Ceci est optionnel) .\nCe dernier sera repporté à la fin du nom de fichier\n\nPuis appuyer sur <span color=\"green\">"Valider"</span> pour continuer" \
			--add-entry="Étiquette :")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
#---------------------------------------------------
format=$(zenity --list --height=300 --title="Choix format date" --text="Veuillez choisir entre ces formats :" --column="format de date"\
									"AAMM"\
									"AAAAMM"\
									"AAMMJJ"\
									"AAAAMMJJ"\
									"JJMMAAAA"\
									"AAMMJJ-hhmmss"\
									"JJMMAA"\
									"JJMMAA-hhmmss"\
									"AAAAMMJJ-hhmmss"\
									"JJMMAAAA-hhmmss"\
									"MMJJ-hhmm")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
##--------------------------------------------------------------------## Préparation Nom de renommage ##--------------------------------------------------------
if [[ -z $format ]] ; then format="AAAAMMJJ-hhmmss" ; fi
case $format in
	AAMM) formDate="%y%m" ;;
	AAAAMM) formDate="%Y%m" ;;
	AAMMJJ) formDate="%y%m%d" ;;
	AAAAMMJJ) formDate="%Y%m%d" ;;
	JJMMAAAA) formDate="%d%m%Y" ;;
	AAMMJJ-hhmmss) formDate="%y%m%d-%H%M%S" ;;
	JJMMAA) formDate="%d%m%y" ;;
	JJMMAA-hhmmss) formDate="%d%m%y-%H%M%S" ;;
	AAAAMMJJ-hhmmss) formDate="%Y%m%d-%H%M%S" ;;
	JJMMAAAA-hhmmss) formDate="%d%m%Y-%H%M%S" ;;
	MMJJ-hhmm) formDate="%m%d-%H%M";;
	*) formDate="%Y%m%d-%H%M%S" ;;
esac
supp="$rep"
if [[ ${#rep} -ne 0 ]]
	then
		ordre=$(echo -e ""$formDate"_"$supp"-")							## préparation base de renommage avec ou sans complément
	else
		ordre=$(echo -e ""$formDate"-")
fi
##--------------------------------------------------------------------# lancement tache #-------------------------------------------------------------------------
infoavantravail () {																			
cat <<eof
						
			Vous avez sélectionné $nf fichiers pour les renommer .
			
			Il vont être renommé sous le format :
			
						"$format"_"$supp"-000
					
					Désirez-vous continuer ?
					
					Si oui, appuyez sur "Valider"	

eof
}
zenity --text-info --width=1000 --height=300 --title="Accord avant renommage" --filename <(infoavantravail)
#zenity --question --text="Vous avez sélectionné <span color=\"red\">$nf</span> fichiers pour les renommer .\nIl vont être renommé sous le format :\n\n\
#						"$format"_"$supp"-000\n\n\
#						\nDésirez-vous continuer ?"
#----------------------------------------------------
if [[ $? == 1 ]] ; then abandon ; fi
#----------------------------------------------------
rnm | zenity --progress --width=900 --auto-close --no-cancel --title="Avancement du renommage" --text="veuillez patienter, renommage en cours .....	" --percentage=0
##------------------------------------------------------------------# Affichage résultat #------------------------------------------------------------------------
for y in $(cat ~/temp/data)
	do
	RESULTAT+=($y)
	done
rm ~/temp/data
zenity --info --width=900 	--title="Résultat des courses" \
				--text="${RESULTAT[0]} fichiers du dossier :\n\n<span color=\"green\">\"$PWD\"</span>\n\n\t\tOnt été éxaminé \!\n\nDont ${RESULTAT[1]} rennomé\n\nEt ${RESULTAT[3]} ne possèdent pas de date\n\n<span color=\"red\"> ${RESULTAT[2]} fichier\\s n'ont pas été traité </span>"
FICHIER=fichInvalide.txt
if [[ -f "$FICHIER" ]] ; then zenity --text-info --width=1400 --height=300 --title="Fichier non renommé" --filename=fichInvalide.txt ; fi
rm fichInvalide.txt 2>/dev/null
exit

tu le met dans le dossier : ~/.local/share/nautilus/scripts
puis tu le rend executable , tu as maintenant un outil dispo dans nautilus click droit !

Dernière modification par Frankkunst (Le 22/01/2025, à 19:35)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#3 Le 07/01/2025, à 00:11

Frankkunst

Re : Comment renommer en masse des photos ?

Poste #2, c´était la version pour les petites selections, car le noyaux a une limitation de longueur de commande, dicussion ici

Voici la version pour traiter tout le dossier courant
modifié le 22 janvier 2025

#!/bin/bash
#
#-----------------------------------------------------------Renommage de fichier "jpeg" sur la base des données EXIF----------------------
#-----------------------------------------------------------Nom : RenomJPEG-All - auteur : Frankkunst - version :1 - date 16/01/2025
#---------------------------------------------------------------------------*************-------------------------------------------------
#-------------------------------------------------------------------# Nettoyage #----------------------------------------------------------------------
printf >~/temp/data
#------------------------------------------------------------# Déclaration + Fonction #----------------------------------------------------------------------
RESULTAT=()													
#------------------------
function abandon {
zenity --info --width=600 --timeout=3 --text="\nAbandon de l'opération\n\nAucun fichier n'a été renommé\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function rnm {														## fonction de rennommage
g=0 m=0 h=0 k=0														## mise à zero des compteurs
for z in $(ls $PWD)								
	do
	testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))						## test fichier jpeg					
	if [[ $testfil == "jpeg" ]] 				  							## contrôle jpeg
		then
			datefich=											## vidange de la variable
			if (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")
				then
					set $(exiv2 -qg Exif.Photo.DateTimeOriginal "$z")				## extraction données de datations
					datefich="$4"
				else
					datefich=
			fi							
			if [[ -n $datefich ]] && [[ $datefich != 0000:00:00 ]]							## contrôle présence de données
				then	((m++))
					f=$(printf "%03d" $m)	; e=${f: -3}						## mise en forme compteur sur trois chiffres
					exiv2 -r$ordre$e rename "$z" 2>/dev/null 					## renommage
					sum=$(( $g * 100 / $nf ))
					echo "$sum"
					echo -e "#Veuillez patienter, renommage en cours ..... $sum %"
				else printf "\"$z\" n'a pas de données de date !\n" >>fichInvalide.txt ; ((h++))
			fi
		else printf "\"$z\" 	n'est pas un fichier \"jpeg\" donc pas traité !\n" >>fichInvalide.txt ; ((k++))
	fi
done
ret=([0]="$g" [1]="$m" [2]="$k" [3]="$h") ; printf '%s\n' "${ret[@]}" >>~/temp/data					## export des variables hors fonction
}
while read ; do Args[$n]=$REPLY ; ((n++)) ; done < <(ls $pwd)
nf=${#Args[*]}
#-------------------------------------------------------------------# Entrée  + Choix #------------------------------------------------------------------------------- 
rep=$(zenity --forms --width=800	--title=" RenomJPEG-All - Frankli " \
			--text="\n	Ce script utilise les données <span color=\"green\">\"exif\"</span> pour renommer les fichers .\nIl va rechercher la date originale de la prise de vue pour composer le nom de fichier .\n\nVous pouvez aussi entrer à l'invite une <span color=\"green\">\"étiquette\"</span> sous la forme d'un mot (Ceci est optionnel) .\nCe dernier sera repporté à la fin du nom de fichier\n\nPuis appuyer sur <span color=\"green\">"Valider"</span> pour continuer" \
			--add-entry="Étiquette :")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
#---------------------------------------------------
format=$(zenity --list --height=300 --title="Choix format date" --text="Veuillez choisir entre ces formats :" --column="format de date"\
									"AAMM"\
									"AAAAMM"\
									"AAMMJJ"\
									"AAAAMMJJ"\
									"JJMMAAAA"\
									"AAMMJJ-hhmmss"\
									"JJMMAA"\
									"JJMMAA-hhmmss"\
									"AAAAMMJJ-hhmmss"\
									"JJMMAAAA-hhmmss"\
									"MMJJ-hhmm")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
##--------------------------------------------------------------------## Préparation Nom de renommage ##--------------------------------------------------------
if [[ -z $format ]] ; then format="AAAAMMJJ-hhmmss" ; fi
case $format in
	AAMM) formDate="%y%m" ;;
	AAAAMM) formDate="%Y%m" ;;
	AAMMJJ) formDate="%y%m%d" ;;
	AAAAMMJJ) formDate="%Y%m%d" ;;
	JJMMAAAA) formDate="%d%m%Y" ;;
	AAMMJJ-hhmmss) formDate="%y%m%d-%H%M%S" ;;
	JJMMAA) formDate="%d%m%y" ;;
	JJMMAA-hhmmss) formDate="%d%m%y-%H%M%S" ;;
	AAAAMMJJ-hhmmss) formDate="%Y%m%d-%H%M%S" ;;
	JJMMAAAA-hhmmss) formDate="%d%m%Y-%H%M%S" ;;
	MMJJ-hhmm) formDate="%m%d-%H%M";;
	*) formDate="%Y%m%d-%H%M%S" ;;
esac
supp="$rep"
if [[ ${#rep} -ne 0 ]]
	then
		ordre=`echo -e ""$formDate"_"$supp"-"`							## préparation base de renommage avec ou sans complément
	else
		ordre=`echo -e ""$formDate"-"`
fi
##--------------------------------------------------------------------# lancement tache #-------------------------------------------------------------------------
zenity --question --text="Vous avez sélectinné <span color=\"red\">$nf</span> fichiers pour les renommer .\nIl vont être renommé sous le format :\n\n\
						<span color=\"green\"> "$format"_"$rep"-000 </span> \n\n\
						\nDésirez-vous continuer ?"
#----------------------------------------------------
if [[ $? == 1 ]] ; then abandon ; fi
#----------------------------------------------------
file_list=* ; for z in $file_list
			do
				mv -n "$z" "${z// /_}" 2>/dev/null
			done | zenity --progress --width=900 --auto-close --no-cancel --title="Suppression des espaces" --text="Veuillez patienter ..." --pulsate
rnm | zenity --progress --width=900 --auto-close --no-cancel --title="Avancement du renommage" --text="Veuillez patienter, renommage en cours .....	" --percentage=0
##------------------------------------------------------------------# Affichage résultat #------------------------------------------------------------------------
for y in $(cat ~/temp/data)
	do
	RESULTAT+=($y)
	done
zenity --info --width=900 	--title="Résultat des courses" \
				--text="${RESULTAT[0]} fichiers du dossier :\n\n<span color=\"green\">\"$PWD\"</span>\n\n\t\tOnt été éxaminé \!\n\nDont ${RESULTAT[1]} rennomé\n\nEt ${RESULTAT[3]} ne possèdent pas de date\n\n<span color=\"red\"> ${RESULTAT[2]} fichier\\s n'ont pas été traité </span>"
FICHIER=fichInvalide.txt
if [[ -f "$FICHIER" ]] ; then zenity --text-info --width=1400 --height=300 --title="Fichier non renommé" --filename=fichInvalide.txt ; fi
rm fichInvalide.txt 2>/dev/null
exit

meme installation, par contre il te suffit de selectionner un seul fichier pour traiter tout le repertoire

Dernière modification par Frankkunst (Le 24/01/2025, à 23:45)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#4 Le 07/01/2025, à 00:18

Frankkunst

Re : Comment renommer en masse des photos ?

je suis entrain de faire un script pour modifier les dates dans les donnees exif des fichiers jpeg
je reviens plus tard !


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#5 Le 22/01/2025, à 18:53

Frankkunst

Re : Comment renommer en masse des photos ?

Voilà, bonjour à tous,
J'ai enfin trouvé un peu de temps pour faire ce petit script, pour corriger facilement "en graphique" les dates et heures des photos

#!/bin/bash
#
##----------------------------------------------------- # modifDate #----------------------------------------------------------------------------
##------------------------------------------------------# version 24/01/2025 #-------------------------------------------------------------------
##------------------------------------------# Correction datation EXIF de fichiers JPEG #--------------------------------------------------------
: >~/temp/datamod
readonly INITD=$PWD
readarray -t Select <<< "$NAUTILUS_SCRIPT_SELECTED_URIS"									## Enregistrement sélection
nf=${#Select[*]} ; ((nf--))													## Comptage sélection
function abandon {
zenity --info --width=1000 --timeout=3 --text="\nAbandon de l'opération\n\nAucune modification n'a été apportée\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function modif {
g=0 m=0 h=0 k=0															## mise à zero des compteurs
for lignBrut in ${Select[@]}
	do
		nouvLigne=${lignBrut#"$NAUTILUS_SCRIPT_CURRENT_URI"}
		printf -v z '%s%b' "${INITD}" "${nouvLigne//%/\\x}"								## création variable "z" utilisable
		testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))
		som=$(( $g * 100 / $nf ))											## Calcul avancement %
		if [[ "$testfil" == "jpeg" ]]
			then
				cam=$(exiv2 "$z" 2>/dev/null | grep "Camera model")						## Extraction modèle APN
				selecam=$(echo $cam | cut -d":" -f2)
				if [[ "$selecam" == " $apn" ]] && (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")			## Contrôle Modèle APN et Date
					then	((m++))
						exiv2 $corrheure $corrjour $corrmois $corrannee ad "$z" 2>/dev/null
					else  
						((h++))
				fi
			else 	 
				((k++))
		fi
		echo -e "#Veuillez patienter, modification datation en cours .....$som %"					## Transmission en chiffre
		echo "$som"													## Transmission à la barre de progression
done
ret=([0]="$g" [1]="$m" [2]="$h" [3]="$k") ; printf '%s\n' "${ret[@]}" >>~/temp/datamod				## export des variables hors fonction pour passage tube
}
IFS='|' read -r heure jour mois annee < <(zenity --forms --title="Correction \"horodatage\"" --text="Veuillez entrer la correction à apporter :\
						\n\nLes heures et minute sous la forme \"00:00:00\" avec le signe - devant sans espace si négatif\
						\n\nLes jours sous la forme \"0\" avec un - devant si négatif\
						\n\nLes mois sous la forme \"0\" avec - devant si négatif\n\nPuis de même les années\
						\n\n" --separator="|" --add-entry="heure:minute:seconde" --add-entry="jour" --add-entry="mois" --add-entry="année")
if [[ $? == 1 ]] ; then	abandon ; fi
if [[ -n "$heure" ]] ; then corrheure="-a $heure" ; else corrheure= ; fi
if [[ -n "$jour" ]] ; then corrjour="-D $jour" ; else corrjour= ; fi
if [[ -n "$mois" ]] ; then corrmois="-O $mois" ; else corrmois= ; fi
if [[ -n "$annee" ]] ; then corrannee="-Y $annee" ; else corrannee= ; fi
apn=$(zenity --entry --title="Nom de l'appareil photo" --text="Veuillez entrer le nom de l'appareil\
		\ntel qu'il apparait dans les propriétés de la photo\nde l'APN ayant servi aux prises de vues")
if [[ $? == 1 ]] ; then	abandon ; fi
modif | zenity --progress --width=900 --auto-close --no-cancel --percentage=0 --title="Avancement du renommage"\
								--text="Veuillez patienter, modification datation en cours ....."
readarray -t RESULTAT < ~/temp/datamod											## récupération des compteurs de modifications
rm ~/temp/datamod
zenity --info --width=900 --title="Résultat"\
				--text="Sur ${RESULTAT[0]} fichiers sélectionnés\
				\n\nLa datation de <span color=\"lightblue\">\"${RESULTAT[1]}\"</span> fichiers a été modifiée et peuvent être maitenant renommé .\
				\n\n\t<span color=\"red\">\"${RESULTAT[2]}\"</span> fichiers ne sont pas issus de \"$apn\" ou ne possèdent pas de date ...\
				\n\n\t\t\tn'ont donc pas été touchés\
				\n\n\tet ${RESULTAT[3]} ne sont pas des fichiers JPEG ..."
exit

donc à placer dans le dossier ~/local/share/nautilus/scripts
Amusez vous bien
J'ai aussi apporté des améliorations aux scripts de Renom . (je les modifis dans les post plus haut)

Dernière modification par Frankkunst (Le 24/01/2025, à 19:15)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#6 Le 22/01/2025, à 19:40

iznobe

Re : Comment renommer en masse des photos ?

bonjour , " inviska rename " fait ca en 2 coup de cuilleres a pots  clics , et tout un tas d' autres choses pour renommer les fichiers par lot .
inviska-exif.png

Dernière modification par iznobe (Le 22/01/2025, à 20:01)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

En ligne

#7 Le 23/01/2025, à 18:20

erresse

Re : Comment renommer en masse des photos ?

poumtatalia a écrit :

Bonjour,
Je me permets de réactiver ce post pour une question similaire: comment changer les dates "Access" ou "Created on"  pour qu'elles prennet les dates exif "Date taken" (en masse parce que plusieurs dizaines de milliers de photos dans des centaines de repertoires!).
Preneur d'idées wink

Bonjour,
Je vais peut-être sembler à côté de la plaque, mais il me semble que le message de poumtatalia demandait comment changer les dates de création (impossible, je crois) et d'accès (peut-être plutôt celle de modification) des fichiers, pas de changer leur nom.
Me trompe-je ? Et, si j'ai bien saisi la demande, est-ce que la chose est faisable ?


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#8 Le 23/01/2025, à 20:13

Frankkunst

Re : Comment renommer en masse des photos ?

Bonsoir erresse,
Suis le post #5
Ce script ne renomme pas les fichier il modifie la "DateTimeOriginal" des données EXIF , c'est bien ce que tu cherche ?
C'est ce qu'il te faut si tu utilise Nautilus comme gestionnaire
à placer dans le dossier ~/local/share/nautilus/scripts

Dernière modification par Frankkunst (Le 24/01/2025, à 19:18)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#9 Le 23/01/2025, à 23:25

Frankkunst

Re : Comment renommer en masse des photos ?

Pardon , comme tu as pu le voir une petite erreur s'était glissée... Un copier/coller ?
J'ai corrigé

Dernière modification par Frankkunst (Le 23/01/2025, à 23:44)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#10 Le 23/01/2025, à 23:30

Watael

Re : Comment renommer en masse des photos ?

une petite erreur c'était glissée

en effet : _s_'était glissée wink

J'ai corrigé

c'est faux ! big_smile

Dernière modification par Watael (Le 23/01/2025, à 23:33)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 23/01/2025, à 23:43

Frankkunst

Re : Comment renommer en masse des photos ?

Il est tard big_smile big_smile big_smile


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#12 Le 23/01/2025, à 23:48

Watael

Re : Comment renommer en masse des photos ?

wink


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#13 Le 24/01/2025, à 19:17

erresse

Re : Comment renommer en masse des photos ?

Frankkunst a écrit :

Bonsoir erresse,
Suis le post #15
Ce script ne renomme pas les fichier il modifie la "DateTimeOriginal" des données EXIF , c'est bien ce que tu cherche ?
C'est ce qu'il te faut si tu utilise Nautilus comme gestionnaire
à placer dans le dossier ~/local/share/nautilus/scripts

Bonsoir Frankkunst,
Je pense que tu n'as pas bien compris le sens de mon message.
À mon avis, la demande n'est pas de fabriquer un nom de fichier contenant la ou les dates EXIF, ni de mettre à jour les dates des données EXIF de l'image avec une date extérieure.
a contrario, il s'agirait de mettre à jour les dates du fichier (date de création roll, date de modification ou date de dernière consultation), celles que l'on voit dans le gestionnaire de fichiers, avec les dates EXIF de l'image.
Et dans ce cas, je ne sais pas si la chose est possible et facile à faire. Peut-être que Watael aurait une idée de réponse ?


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#14 Le 24/01/2025, à 19:20

Frankkunst

Re : Comment renommer en masse des photos ?

C'est justement ce que fait modifDate du post #5 roll
Tu entre la correction à apporter par exemple -0:05:00 | 1 | -3 | 2
Corrigera la date de - 5 minute , +1 jour , -3 mois , +2 ans , à tous les fichiers sélectionné , quelque soit leur date et heure et ceci dans les données EXIF des fichiers
Tu peux sélectionner tous les fichiers du répertoire, je l'ai utilisé sur plus de mille fichiers ...

Dernière modification par Frankkunst (Le 24/01/2025, à 19:26)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#15 Le 24/01/2025, à 19:42

erresse

Re : Comment renommer en masse des photos ?

Frankkunst a écrit :

et ceci dans les données EXIF des fichiers

Mais c'est précisément ce que j'ai essayé de t'expliquer dans mon message #13 pour préciser mon message #7 !
IL NE S'AGIT PAS DE MODIFIER LES DATES EXIF DE L'IMAGE. Il s'agit de modifier les dates du FICHIER qui contient cette image, soit l'enveloppe matérielle qui est enregistrée sur le disque et qui contient (comme tout objet enregistré) une série de dates visibles dans le gestionnaire de fichiers lorsqu'on liste un répertoire. Dans Nautilus, est-ce que tu vois les dates EXIF des images lorsque tu listes le répertoire qui contient tes photos ? Non, n'est-ce pas.
Mais de toute manière, ce qui serait surtout intéressant ici, c'est que poumtatalia vienne donner son avis ! Il me semble bien silencieux depuis le 2 janvier... Si ça se trouve on se casse le tronc pour aider quelqu'un qui s'en moque et qui ne vient même lire les réponses.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#16 Le 24/01/2025, à 19:54

Frankkunst

Re : Comment renommer en masse des photos ?

Ha ... donc rien à voir avec les données EXIF
Tu veux changer les dates que le system attribut !...
J’essaie de voir


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#17 Le 24/01/2025, à 20:00

Frankkunst

Re : Comment renommer en masse des photos ?

peut être des pistes ici


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#18 Le 24/01/2025, à 20:05

Frankkunst

Re : Comment renommer en masse des photos ?

La commande touch -m pour modifier la date de modification du fichier par exemple


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#19 Le 24/01/2025, à 23:33

Frankkunst

Re : Comment renommer en masse des photos ?

Oui c'est bien la commande touch qu'il te faut utiliser
commande touch


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#20 Le 25/01/2025, à 08:38

Frankkunst

Re : Comment renommer en masse des photos ?

Bonjour Erresse,
J'ai bien étudié la commande "touch", associé à la commande "stat" pour extraire les dates actuelle et en les modifiant par la suite en tant que chaine de caractère tu devrai aisément pouvoir faire ce que tu veux


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#21 Le 25/01/2025, à 11:07

Tawal

Re : Comment renommer en masse des photos ?

Hello,

Oui en effet la commande touch est faite pour modifier les dates de fichiers.
Il faut donc extraire des données EXIF la date de prise de la photo et utiliser touch pour modifier les dates de fichiers.
Mais reste à savoir 2 choses :

  • on met toutes les dates du fichier à jour ?

  • quelle date est affichée dans le gestionnaire de fichiers ?

Car si c'est une date qui peut évoluer (accès, modification …) alors il faudra réappliquer le changement de date du fichier.
Car si j'ai bien compris, le principe est de pouvoir trier selon les dates et ainsi les avoir dans l'ordre chronologique réel de prise de photo.

Dernière modification par Tawal (Le 25/01/2025, à 11:12)


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#22 Le 25/01/2025, à 13:19

Frankkunst

Re : Comment renommer en masse des photos ?

Non , il y a là deux sujets différents :

- les données EXIF concernent les fichiers photo et vidéo et sont inclues dans le fichier lui même . Elles sont manipulable avec Exiftool ou Exiv2 etc...

- les dates system qui sont attribuée par le système de fichier au moment du chargement, modification ou accès . Elles sont manipulable avec la commande "touch"


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#23 Le 26/01/2025, à 12:36

Frankkunst

Re : Comment renommer en masse des photos ?

Bonjour erresse,
D'après mes recherches, tu peux modifier la date de dernier accès et la date de modification .
Mais les dates de changement et de création ne sont géré que par le système de fichier ... donc inchangeable


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#24 Le 26/01/2025, à 17:37

erresse

Re : Comment renommer en masse des photos ?

@Frankkunst : Merci de te donner la peine de faire ces recherches, c'est toujours utile de savoir ce que l'on peut ou ne peut pas faire.
Mais en fait, je ne posais pas les questions pour mon propre compte mais comme je le disais dans mon message #15, pour poumtatalia :

erresse a écrit :

Mais de toute manière, ce qui serait surtout intéressant ici, c'est que poumtatalia vienne donner son avis ! Il me semble bien silencieux depuis le 2 janvier... Si ça se trouve on se casse le tronc pour aider quelqu'un qui s'en moque et qui ne vient même lire les réponses.

Et donc, la conversation reste ouverte en attendant que son initiateur revienne y poster... roll


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#25 Le 26/01/2025, à 18:54

diesel

Re : Comment renommer en masse des photos ?

Frankkunst a écrit :

Mais les dates de changement et de création ne sont géré que par le système de fichier ... donc inchangeable

Ce sont des données (comme TOUTES les autres), enregistrées quelque part sur le support. Il n'existe peut-être pas d'outil dédié pour gérer ces données mais c'est forcement possible, quitte à taper dans les outils de très bas niveau.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne