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.

#51 Le 28/01/2025, à 09:06

kastopidiak

Re : Comment renommer en masse des photos ?

@iznobe a 100% raison et il n'était pas forcément utile de partir dans ces digressions sur les dates des fichiers.

poumtatalia a écrit :

comment changer <<Modération :  MODIFIER>> les dates "Access" ou "Created on"  pour qu'elles prennet les dates exif "Date taken"

Cela me semble pourtant clair : il/elle veut modifier les données EXIF.  La solution c'est bien exiftool.
Et oui c'est complètement con puisque dès que la photo sera ouverte dans un logiciel quelconque au moins la date d'accès des données EXIF (et du fichier) sera modifiée. Pour être sûr que ce ne soit pas un problème XY, il aurait fallu savoir ce qui motive cette manipulation des dates. Et c'est une chose que l'on trouve aisément en remontant dans l'historique des messages : https://forum.ubuntu-fr.org/viewtopic.php?id=2088905 wink

Dernière modification par kastopidiak (Le 28/01/2025, à 09:09)

Hors ligne

#52 Le 28/01/2025, à 09:11

iznobe

Re : Comment renommer en masse des photos ?

Ben si tu penses que je vais pondre un script pour personne ...

bref , si l' idée c' est de mettre la date de creation du fichier a la date exif , et bien je pense que la solution a deja a moitié été donnée par @tawal et / ou @kro .
extraire la date via exiftool ou exiv2 dans une variable , puis utilisé touch pour modifier la date de creation . boucler pour les types de fichiers concernés .


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

Hors ligne

#53 Le 28/01/2025, à 11:38

kastopidiak

Re : Comment renommer en masse des photos ?

La demande initiale (cf lien vers l'autre discussion) est de pouvoir trier ses images en fonction de leur date de création EXIF.
Soit il faut utiliser un logiciel un peu mieux foutu que Shotwell.
Soit il faut renommer les fichiers pour que le tri alphabétique soit équivalent au tri par date de création. C'est expliqué ici avec la commande qui va bien :

$ exiftool -r '-filename<createdate' -d '%Y-%m-%d_%H_%M_%S%-c.%le' <directory> 

pour traiter récursivement le contenu de <directory>.

Dernière modification par kastopidiak (Le 28/01/2025, à 11:40)

Hors ligne

#54 Le 28/01/2025, à 11:43

iznobe

Re : Comment renommer en masse des photos ?

Soit il faut renommer les fichiers pour que le tri alphabétique soit équivalent au tri par date de création

ou utiliser inviska rename comme evoqué dans mon 1er message qui fait ca en mode graphique :
inviska-exif.png

Dernière modification par iznobe (Le 28/01/2025, à 11:44)


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

Hors ligne

#55 Le 28/01/2025, à 11:56

kastopidiak

Re : Comment renommer en masse des photos ?

Encore mieux.
Mais bon la plupart des outils permettent un tri par date de prise vue. Mon gestionnaire de fichiers (Dolphin) le fait.

Hors ligne

#56 Le 28/01/2025, à 13:10

diesel

Re : Comment renommer en masse des photos ?

kastopidiak a écrit :

Cela me semble pourtant clair : il/elle veut modifier les données EXIF.

Où est-ce que tu as lu ça dans le post de Poumtatalia ?

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

#57 Le 28/01/2025, à 13:47

diesel

Re : Comment renommer en masse des photos ?

Dans son post #1 poumtatalia a écrit : "comment changer les dates "Access" ou "Created on"  pour qu'elles prennent les dates exif "Date taken".

Nulle part il est question de la date de modification (et encore moins modifier les données exif).

Jean-Marie

Dernière modification par diesel (Le 28/01/2025, à 13:48)


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

#58 Le 28/01/2025, à 13:49

diesel

Re : Comment renommer en masse des photos ?

iznobe a écrit :

Ben si tu penses que je vais pondre un script pour personne ...

bref , si l' idée c' est de mettre la date de creation du fichier a la date exif , et bien je pense que la solution a deja a moitié été donnée par @tawal et / ou @kro .
extraire la date via exiftool ou exiv2 dans une variable , puis utilisé touch pour modifier la date de creation . boucler pour les types de fichiers concernés .

On a déjà dit plusieurs fois que touch ne savait pas modifier la date de création. Faut suivre.

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

#59 Le 28/01/2025, à 13:53

hotnuma

Re : Comment renommer en masse des photos ?

https://unix.stackexchange.com/questions/118577/

Easiest way - accessed modified will be the same:

touch -a -m -t 201512180130.09 fileName.ext

Where:

-a = accessed
-m = modified
-t  = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format

Hors ligne

#60 Le 28/01/2025, à 13:58

diesel

Re : Comment renommer en masse des photos ?

hotnuma a écrit :

https://unix.stackexchange.com/questions/118577/

Easiest way - accessed modified will be the same:

touch -a -m -t 201512180130.09 fileName.ext

Where:

-a = accessed
-m = modified
-t  = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format

Tu sais lire ? (le post juste au dessus)

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

#61 Le 28/01/2025, à 14:02

hotnuma

Re : Comment renommer en masse des photos ?

j'aime bien ta signature, parce que touch sait parfaitement modifier les dates de creation et modification d'un fichier comme indiqué ici :
https://unix.stackexchange.com/questions/118577/

J'ai testé ça fonctionne.
Faut suivre et comprendre l'anglois. tongue

Hors ligne

#62 Le 28/01/2025, à 14:11

diesel

Re : Comment renommer en masse des photos ?

Je te remercie.

Accessed = accédé
modified = modifié

??? (pas trouvé) = créé.

jean-marie@jean-marie:~$ touch toto
jean-marie@jean-marie:~$ stat toto
  Fichier : toto
   Taille : 0         	Blocs : 0          Blocs d'E/S : 4096   fichier vide
Périphérique : 8/17	Inœud : 3932446     Liens : 1
Accès : (0644/-rw-r--r--)  UID : ( 1000/jean-marie)   GID : ( 1000/delapierre)
 Accès : 2025-01-28 14:09:14.892806519 +0100
Modif. : 2025-01-28 14:09:14.892806519 +0100
Changt : 2025-01-28 14:09:14.892806519 +0100
  Créé : 2025-01-28 14:09:14.892806519 +0100
jean-marie@jean-marie:~$ touch -a -m -t 201512180130.09 toto
jean-marie@jean-marie:~$ stat toto
  Fichier : toto
   Taille : 0         	Blocs : 0          Blocs d'E/S : 4096   fichier vide
Périphérique : 8/17	Inœud : 3932446     Liens : 1
Accès : (0644/-rw-r--r--)  UID : ( 1000/jean-marie)   GID : ( 1000/delapierre)
 Accès : 2015-12-18 01:30:09.000000000 +0100
Modif. : 2015-12-18 01:30:09.000000000 +0100
Changt : 2025-01-28 14:13:28.197589905 +0100
  Créé : 2025-01-28 14:09:14.892806519 +0100
jean-marie@jean-marie:~$

Où as-tu vu que la date de création de mon fichier toto avait été modifiée ?

Qui prend qui pour un con et se plante comme un ... ?

Jean-Marie

Dernière modification par diesel (Le 28/01/2025, à 14:17)


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

#63 Le 28/01/2025, à 14:15

hotnuma

Re : Comment renommer en masse des photos ?

On a besoin que de la date de modification je pense, la commande exiftool donné plus haut est surement la meilleure réponse de toute manière

Hors ligne

#64 Le 28/01/2025, à 14:16

diesel

Re : Comment renommer en masse des photos ?

Mon grand, il faut lire les questions. Poumtatalia a demandé comment modifier la DATE DE CREATION. Alors, ce que tu penses...

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

#65 Le 28/01/2025, à 14:22

krodelabestiole

Re : Comment renommer en masse des photos ?

poumtatalia a écrit :

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!).)

ça me semble assez clair qu'il s'agit de changer les dates des fichiers, sur le système de fichiers !
en se servant des dates exif comme source. il n'est donc pas question de changer celles-ci.

il est probable qu'il s'agisse d'un problème xy, mais en l'état de la demande c'est bien ce que propose @diesel qui y répond.
il semblerait qu'on n'ait de toute façon plus de nouvelle du demandeur.

Hors ligne

#66 Le 28/01/2025, à 14:46

Ayral

Re : Comment renommer en masse des photos ?

diesel a écrit :

Mon grand, il faut lire les questions. Poumtatalia a demandé comment modifier la DATE DE CREATION. Alors, ce que tu penses...

Jean-Marie

Modération : les choses peuvent être dites en douceur, ça passe mieux, et ça respecte les règles du forum ... Merci


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#67 Le 28/01/2025, à 14:52

diesel

Re : Comment renommer en masse des photos ?

oui.

Cela dit, ça fait un bon moment que je rappelle en douceur à longueur de posts la question initiale du demandeur. Et quand, juste le post en dessous, il y en a un qui vient remettre une pièce dans le bastringue et une fois de plus répondre à côté de la question, au bout d'un moment, ça agace un peu.

Amicalement.

Jean-Marie

Dernière modification par diesel (Le 28/01/2025, à 14:53)


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

#68 Le 28/01/2025, à 15:24

kastopidiak

Re : Comment renommer en masse des photos ?

[HS]
je confirme que la date de création d'un fichier n'est pas modifiable simplement. Il faut jouer avec debugfs sur une partition ext démontée, ou avec l'horloge système comme suggéré dans un autre message.
Il est vrai que la demande était ambiguë sur la modification des données EXIF ou du fichier lui-même. Là encore il aurait fallu demander des clarification avant d'essayer de répondre.
Je ne vois pas l'utilité de s'énerver pour si peur.
[/HS]

Hors ligne

#69 Le 28/01/2025, à 15:30

O_20_100_O

Re : Comment renommer en masse des photos ?

Je ne vois pas l'utilité de s'énerver pour si peur.

Oui, et au fond ça fait PEUR smile

Hors ligne

#70 Le 28/01/2025, à 16:29

kastopidiak

Re : Comment renommer en masse des photos ?

Je vais aller me racheter des doigts. lol

Hors ligne

#71 Le 28/01/2025, à 16:34

iznobe

Re : Comment renommer en masse des photos ?

je confirme que la date de création d'un fichier n'est pas modifiable simplement. Il faut jouer avec debugfs sur une partition ext démontée, ou avec l'horloge système comme suggéré dans un autre message.

ou pour faire simple , renommer les fichiers au debut de leur nom avec la date EXIF , comme expliqué dans mon 1er message tongue avec inviska rename big_smile
ou avec la commande de @ kasto .

Dernière modification par iznobe (Le 28/01/2025, à 16:34)


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

Hors ligne

#72 Le 28/01/2025, à 19:01

bluc

Re : Comment renommer en masse des photos ?

Bonjour

Perso j'utilise ce nautilus script trouvé sur ce forum ,( soupaloignon) qui va tres bien pour modifier la date

#!/bin/bash

####################################################################################
#
# MultiScript : Fichiers Images
# Permet de travailler sur des photos venant d'APN (renommer, classer, etc...)
#
# Dépendances :
# zenity jhead exiv2 imagemagick sed libimage-exiftool-perl
#
# Version :
# 0.3.5 2011/12/03
## Ajout de la fonction : Rajouter un intitulé devant le nom du fichier et renommer sur 2 chiffres
## Correction de la fonction : Générer un fichier pdf optimisé des photos
## Corrections mineures
#
# 0.3.4 2011/02/22
# 0.3 : 2010/06/10
# 0.2 : 2010/04/27 (version non distribuée)
# 0.1 : 2010/04/01
#
# Utilisation :
# Se placer dans le répertoire contenant les photos à traiter, lancer le script.
# Inutile de sélectionner les photos, le script va travailler sur toutes les photos
# contenues dans le répertoire (et uniquement dans le répertoire, il n'est pas récursif)
#
# Le script travaille beaucoup sur les données exif des photos,
# donc si celles ci sont fausses le résultat ne sera pas terrible ;)
#
# Le script travaille en modifiant la casse des extensions des fichiers (majuscule en minuscule), c'est voulu
# si ce comportement ne vous convient pas, n'utilisez pas ce script, ou modifiez-le ;)
#
# Prenez l'habitude de faire des manips sur des copies de fichiers
#
# Le fil de discussion sur le forum d'Ubuntu fr : 
# http://forum.ubuntu-fr.org/viewtopic.php?pid=3371321
#
# L'historique du script :
# http://soupaloignon.net/web/articles/articles.php?id=28&cat=3
#
# Testé sous Mint 9 (Lucid)
#
# www.soupaloignon.net
####################################################################################


####################################################################################
###### Mettre tout le script dans une boucle #######################################

while [ "$fin_du_script" != "oui" ]
do
####################################################################################


####################################################################################
###### Variable(s) générale(s) #####################################################

# Titre des fenêtres zenity
title="MultiScript : Fichiers photos (V 0.3.5)"

####################################################################################


####################################################################################
###### Function(s) #################################################################

function Casse-Extension
{
    # Transforme la casse et ou l'extension en jpg
ls -d *.JPG | sed 's/\(.*\).JPG$/mv "&" "\1.jpg"/' | sh
ls -d *.JPEG  | sed 's/\(.*\).JPEG$/mv "&" "\1.jpg"/' | sh
ls -d *.jpeg  | sed 's/\(.*\).jpeg$/mv "&" "\1.jpg"/' | sh

# Transforme la casse en png
ls -d *.PNG | sed 's/\(.*\).PNG$/mv "&" "\1.png"/' | sh
}
####################################################################################



####################################################################################
###### Afficher le menu ############################################################
            
    menu=`zenity --width=750 --height=800 \
    --title "$title" --text="Choisir l'action à effectuer" --list --hide-column 1 --column "" --column "" \
    0 "QUITTER LE SCRIPT (V 0.3.5)" \
    1 "" \
    2 "Ranger des photos en vrac dans des dossiers datés (année, mois, jour) (jpg)" \
    21 "" \
    3 "Changer la casse : JPG, JPEG, jpeg => jpg / PNG => png" \
    31 "Effacer TOUS les tags EXIF et IPTC (partiel) sur une copie du dossier (jpg)" \
    32 "" \
    4 "Rajouter un intitulé devant le nom du fichier (jpg et png)" \
    41 "Rajouter un intitulé à la fin du nom du fichier (jpg et png)" \
    5 "Renommer en masse sur X chiffres au choix (jpg et png)" \
    9 "Renommer dans l'ordre chronologique des photos venant d'APN différents (jpg)"\
        51 "Rajouter un intitulé devant le nom du fichier et renommer sur 2 chiffres (jpg et png)"\
    52 "" \
    6 "Générer un fichier pdf optimisé des photos (800 X 600) du répertoire (jpg et png)" \
    7 "Générer une planche contact en .jpg des images du répertoire (jpg et png)" \
    81 "" \
    10 "Changer la date : Année et/ou mois et/ou jour (heures/minutes/secondes non changés) (jpg)" \
    11 "Changer la date et l'heure (Heures, minutes et secondes seront les mêmes pour toutes les photos)(jpg)" \
    12 "Avancer ou reculer les heures et/ou minutes et/ou secondes (jpg)" \
    13 "Voir les champs dates des données Exif (jpg)" \
    131 "" \
    14 "Convertir les jpg en png (n'efface pas les originaux)" \
    15 "Convertir les png en jpg (80%) (n'efface pas les originaux)" \
    8 "Créer un dossier contenant une copie des photos, retaillées (jpg et png)" \
    16 "" \
    17 "A LIRE" \     
    | sed 's/ max//g' `

# Pour quitter
    if [ "$menu" = 0 ] ; then
    fin_du_script="oui"
    fi 

# Vérifier qu'un choix a été fait
    if [ ! "$menu" ]; then
    zenity --error --title="Erreur" --text="Choisissez une action"
    fi
####################################################################################

####################################################################################
###### Ranger des photos en vrac dans des dossiers datés (année, mois, jour) #######

# Choix du menu
if [ "$menu" = 2 ] ; then

# Eviter les problèmes avec des noms de fichiers comportants des espaces
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

exiftool -r *.jpg '-FileName<${DateTimeOriginal}' -d "%Y-%m-%d/"

fi
####################################################################################
   
####################################################################################
###### Changer la casse ############################################################ 

# Choix du menu 
if [ "$menu" = 3 ] ; then 
 
# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

fi
####################################################################################

####################################################################################
###### Effacer EXIF et IPTC ######################################################## 

# Choix du menu 
if [ "$menu" = 31 ] ; then 
 
# Eviter les problèmes avec des noms de fichiers comportants des espaces
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Création du répertoire / copie / se placer dans le repertoire
REP="No-EXIF"
mkdir $REP
cp -r *jpg $REP
cd $REP
exiv2 -d a *.jpg

fi
####################################################################################

####################################################################################
###### Rajouter un intitulé devant le nom du fichier ############################### 

# Choix du menu 
if [ "$menu" = 4 ] ; then 

# Eviter les problemes avec des noms comportant des espaces 
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

## Texte à rajouter devant le nom du fichier
TEXTE=$(zenity --entry --width=500 --height=150 --title="$title : Intitulé devant le nom de fichier" --entry-text="" --text="Entrez le nom à rajouter devant vos fichiers :")
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi
# Boucle d'insertion
for fichier in `ls *.jpg *.png` 
do 
rename 's/^/'$TEXTE'/' $fichier
done

fi
####################################################################################


####################################################################################
###### Rajouter un intitulé à la fin du nom du fichier ############################### 

# Choix du menu 
if [ "$menu" = 41 ] ; then 

# Eviter les problemes avec des noms comportant des espaces 
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

## Texte à rajouter à la fin du nom du fichier
TEXTEFIN=$(zenity --entry --width=500 --height=150 --title="$title : Intitulé à la fin du nom du fichier" --entry-text="" --text="Entrez l'intitulé à rajouter à la fin de chaque nom de fichier :")
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

for file in *jpg *.png
do
base=`basename $file`
mv $file  ${base%.*}$TEXTEFIN.${base##*.}
done


fi
####################################################################################


####################################################################################
###### Renomme en masse sur X chiffres #############################################
 
# Choix du menu   
if [ "$menu" = 5 ] ; then  

# Choix du nombre de caracteres
nombre=$(zenity --entry --width=500 --height=150 --title="$title : Nombre de chiffres" --entry-text="2" --text="Choisir sur quel nombre de chiffres seront renommés vos fichiers :" )


if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Boucle
let "indice=1"
for fichier in *.jpg *.png
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$indice.$extension"
            mv "$fichier" `printf "%0"$nombre"d" $indice`".$extension"
            let "indice+=1"
        fi
done






fi
####################################################################################


####################################################################################
###### Génére un fichier pdf des photos du répertoire ##############################

# Choix du menu
if [ "$menu" = 6 ] ; then

# Nom du pdf
TEMPORAIRE='temporaire.pdf'
NOM='00-final.pdf'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Boucle
for i in "*.jpg *.png"
do
 #convert $i -quality 80 -geometry 800x600 +compress $TEMPORAIRE
 convert $i +compress $TEMPORAIRE
 gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$NOM $TEMPORAIRE
 rm $TEMPORAIRE
done

#-geometry a la place de -resize
#convert * fichier.pdf ==> respecte le rtatio de sphotos


fi
# Plus de détails sur cette portion de script :
# http://forum.ubuntu-fr.org/viewtopic.php?pid=2966157
####################################################################################


####################################################################################
###### Génére une planche contact en .jpg des images du répertoire (jpg et png)#####

# Choix du menu
if [ "$menu" = 7 ] ; then

# Nom du fichier final
NOM='00-planche-contact.jpg'

# Eviter les problèmes avec des noms de fichiers comportants des espaces
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Go ;)
montage -label '%f' *.jpg *.png \
-tile 6x7 $NOM

fi
####################################################################################


####################################################################################
###### Créer un dossier contenant une copie des photos, retaillées #################

# Choix du menu
if [ "$menu" = 8 ] ; then

IFS="|"
    #title="Choix de la taille"
    VALEUR=`zenity --title "$title : Retailler des photos"  --text "Choisir la nouvelle taille des photos" --list --separator=" "  --height=250 --width=500 --column="Taille" "320x240" "450x338" "640x480" "800x600" "1024x768" | sed 's/ max//g' `
    # click sur le bouton abandon
        if [ "$?" != 0 ] ; then
        exit
        fi
    # si pas de taille sélectionnée
        if [ ! "$VALEUR" ]; then
        zenity --error --title="error" --text="Aucune taille n'a été sélectionnée. Sortie de cette option."
        fi

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Création du répertoire / copie / se placer dans le repertoire
mkdir $VALEUR
cp -r *jpg *.png $VALEUR
cd $VALEUR

# Retailler à la valeur choisie
mogrify -quality 60 -resize $VALEUR *.jpg *.png
# 

fi
####################################################################################


####################################################################################
###### Renomme dans l'ordre chronologique des photos venant d'APN différents (jpg) #
###### par la date-heures-secondes de prise de vue #################################

# Choix du menu
if [ "$menu" = 9 ] ; then 

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Renomme par date et heure exif (donc dans l'ordre chronologique)
# tous appareils confondus
exiv2 -r %Y-%m-%d--%Hh-%Mm-%Ss mv *.jpg

fi
####################################################################################


####################################################################################
###### Rajouter un intitulé devant le nom du fichier et renommer sur 2 chiffres) ##


# Choix du menu
if [ "$menu" = 51 ] ; then 

if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Texte à rajouter devant le nom du fichier
TEXTE=$(zenity --entry --width=500 --height=150 --title="$title : Intitulé devant le nom de fichier" --entry-text="" --text="Entrez le nom à rajouter devant vos fichiers :")

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Boucle
let "indice=1"
for fichier in *.jpg *.png
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$indice.$extension"
            mv "$fichier" `printf "%0"2"d" $indice`".$extension"
            let "indice+=1"
        fi
done

# Boucle d'insertion
for fichier in `ls *.jpg *.png` 
do 
rename 's/^/'$TEXTE'/' $fichier
done




fi
####################################################################################





####################################################################################
###### Changer la date : Année et/ou mois et/ou jour ###############################
###### (heures/minutes/secondes non changés) (jpg) #################################
    
# Choix du menu
if [ "$menu" = 10 ] ; then    

## Entrer la date
DATE=$(zenity --entry --width=300 --height=150 --title="Date" --entry-text="" --text="Entrez la nouvelle date :\n\nDans un format AAAA pour ne changer que l'année\n(mois/jour/heures/minutes/secondes non changés)\n\nDans un format AAAA:MM pour ne changer que l'année et le mois\n(jour/heures/minutes/secondes non changés)\n\nDans un format AAAA:MM:JJ pour ne changer que l'année, le mois et le jour\n(heures/minutes/secondes non changées)\n\nAttention à bien mettre le \":\" (sans les guillements) entre les valeurs si nécessaire" )

         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Go
jhead -ds$DATE *jpg

fi
####################################################################################


####################################################################################
###### Changer la date et l'heure (jpg) ############################################
  
# Choix du menu  
if [ "$menu" = 11 ] ; then  

## Entrer la date
DATE=$(zenity --entry --width=300 --height=150 --title="Date" --entry-text="2010:10:10" --text="Entrez la date dans un format AAAA:MM:JJ" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Entrer l'heure
HEURE=$(zenity --entry --width=300 --height=150 --title="Heure" --entry-text="10:10:10" --text="Entrez la date dans un format HH:MM:SS" )
        if [ "${PIPESTATUS[0]}" != "0" ]; then
         exit
      fi

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Go
exiv2 -M"set Exif.Image.DateTime $DATE $HEURE" -M"set Exif.Photo.DateTimeOriginal $DATE $HEURE" -M"set Exif.Photo.DateTimeDigitized $DATE $HEURE" *.jpg

fi
####################################################################################


####################################################################################
###### Changer les heures : En positif ou négatif ###############################

    
# Choix du menu
if [ "$menu" = 12 ] ; then    

## Entrer la valeur à rajouter ou retrancher
TEMPS=$(zenity --entry --width=300 --height=150 --title="Avancer ou reculer : Heure / Minute / Seconde" --entry-text="" --text="Entrez tout d'abord le symbole + ou - (pour rajouter ou enlever du temps) puis les valeurs de temps :\n\n+10 rajoutera 10 heures\n-10 enlévera 10 heures\n+00:10 rajoutera 10 minutes\n+00:00:10 rajoutera 10 secondes\n\nAttention à bien mettre le \":\" (sans les guillements) entre les valeurs si nécessaire" )

         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Go
jhead -ta$TEMPS *.jpg

fi
####################################################################################

####################################################################################
###### Voir les champs dates exif (jpg) ############################################
    
# Choix du menu 
if [ "$menu" = 13 ] ; then  

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

# Go
#exiv2 -Plt *.jpg | sed -n '/Date and Time/p' | zenity --text-info --title ="exif" --width=700 --height=500
exiv2 -Plt *.jpg | sed -n '/Date*/p' | zenity --text-info --title ="exif" --width=700 --height=500

fi
####################################################################################


####################################################################################
###### jpg en png ##################################################################

# Choix du menu
if [ "$menu" = 14 ] ; then

# Eviter les problèmes avec des noms de fichiers comportants des espaces
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

for file in *.jpg; do convert "$file" "$(basename $file .jpg).png"; done

mkdir png
mv *.png png

fi
####################################################################################


####################################################################################
###### Créer un dossier contenant une copie des photos png au format jpg ###########

# Choix du menu
if [ "$menu" = 15 ] ; then

# Eviter les problèmes avec des noms de fichiers comportants des espaces
IFS=$'\n'

# Function Transforme la casse et ou l'extension en jpg/png
Casse-Extension

for file in *.png; do convert -quality 80 "$file" "$(basename $file .png).jpg"; done

mkdir jpg
mv *.jpg jpg

fi
####################################################################################


####################################################################################
###### A LIRE ######################################################################

# Choix du menu 
if [ "$menu" = 17 ] ; then  

zenity --info --width=500 --height=150 --title="$title : Informations" --text="Merci d'utiliser ce script. Si vous avez des idées d'amélioration, voici le forum où cela se passe :\nhttp://forum.ubuntu-fr.org/viewtopic.php?pid=3371321\n\nCe script travaille sur des images en jpg et/ou png. C'est précisé à la fin de chaque fonction.\n\nTravaillant nativement sur des extensions en .jpg et/ou .png, ce script changera automatiquement la casse de ces 2 extensions s'il rencontre des majuscules dans les fichiers à traiter.\n\nwww.soupaloignon.net"

fi
########################################################################


done 
exit 0

Dernière modification par bluc (Le 28/01/2025, à 19:03)


Clevo :  Ubuntu 24.04   ❖  Xubuntu 24.04  ❖  Kubuntu 23.10   
         avec partition data commune       Une fraction de seconde                    Multiboot

Hors ligne

#73 Le 28/01/2025, à 19:06

erresse

Re : Comment renommer en masse des photos ?

Et le plus amusant de l'histoire, c'est que toute l'équipe se chamaille joyeusement pour le plus grand bénéfice d'un demandeur fantôme "poumtatalia" qui, lui, a bien l'air de se foutre royalement de la réponse ou d'une solution mieux adaptée à son problème ! lol
Normalement, si on n'était pas férus de petits trucs et astuces pour s'agiter les méninges, on aurait dû depuis longtemps oublier cette conversation et celui qui l'a initiée... roll
Mais c'est toujours intéressant de creuser ce genre de bidouilles dont on ne se servira probablement jamais mais pour lesquelles on veut absolument trouver une solution ou une explication. Allez, bonne soirée à tous !
smile


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

#74 Le 28/01/2025, à 19:10

kastopidiak

Re : Comment renommer en masse des photos ?

Il faut laisser le choix dans la date.

-->[]

Hors ligne

#75 Le 28/01/2025, à 19:40

hotnuma

Re : Comment renommer en masse des photos ?

kastopidiak a écrit :

Il faut laisser le choix dans la date.

lol tongue

Hors ligne