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: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

#52 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

#53 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

#54 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

#55 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

#56 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

#57 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

#58 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

#59 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

#60 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

#61 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

#62 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

#63 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

#64 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

#65 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

En ligne

#66 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

#67 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

#68 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

#69 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

#70 Le 28/01/2025, à 20:13

iznobe

Re : Comment renommer en masse des photos ?

kro a écrit :

ç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.

Je suis d' accord avec ca . sauf que comme l' a dit @kasto :

kasto a écrit :

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 sera modifiée

la meilleure solution c' est donc de renommer les fichiers avec la date de creation EXIF en debut de nom , ou encore mieux , carrement remplacer le nom par la datetime EXIF .

quand au script de @bluc , je pense que c' est ce qu ' il fait aussi , car :

bluc a écrit :

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

qe quelle date parle ton precisément ??

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


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

Hors ligne

#71 Le 28/01/2025, à 20:30

diesel

Re : Comment renommer en masse des photos ?

kasto a écrit :

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 sera modifiée

Ben..., pas tant que ça.

Parce que si on réussit à faire coller la date de création avec la date exif de la prise de vue, celle-ci n'a pas trop de raison de changer "toute seule" (même si ce n'est pas forcement la meilleure idée).

Cela dit, tout dépend du besoin exact de Poumtatalia (comment il/elle veut se servir de ses fichiers image ; les lister de manière ordonnée, les trier, retrouver une photo à partir de la date de la prise de vue, autre...).

Amicalement.

Jean-Marie

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


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

#72 Le 28/01/2025, à 20:36

iznobe

Re : Comment renommer en masse des photos ?

diesel a écrit :

Parce que si on réussit à faire coller la date de création avec la date exif de la prise de vue

sauf que personne ne sait comment faire precisément et simplement pour le moment si j' ai bien compris tongue
alors que renommer un fichier on sait tous faire big_smile

diesel a écrit :

Cette date de création est une donnée comme une autre, donc modifiable. Elle ne fait donc foi de rien du tout.


D'ailleurs, Tawai a donné une méthode pour la changer.

tres facile à mettre en oeuvre sachant que tu dois changer ton heure systeme pour chaque photo , soit pres de 100 000 fois en gros !
il va falloir faire un script pour changer d heure systeme avant de renommer chaque photo dans une boucle tongue

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


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

Hors ligne

#73 Le 28/01/2025, à 21:03

Watael

Re : Comment renommer en masse des photos ?

ça va aller quand même, c'est la machine qui bosse. c'est pas comme aller acheter un timbre chaque fois que l'imprimante sort un courier lors d'un envoi en masse. big_smile big_smile big_smile

Dernière modification par Watael (Le 28/01/2025, à 21:35)


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

En ligne

#74 Le 28/01/2025, à 21:27

krodelabestiole

Re : Comment renommer en masse des photos ?

erresse a écrit :

Mais c'est toujours intéressant de creuser ce genre de bidouilles dont on ne se servira probablement jamais

ça m'est déjà arrivé de changer des dates de modifications en masse, pour contourner un problème de logiciel de synchronisation sur des serveurs mal réglés ou sur des timezones différentes d'après mes souvenirs... (c'était sûrement pas la solution la plus propre)
avec touch du coup.
ça ne me semble pas si absurde, quand on utilise un logiciel qui ne lit pas les données exif par ex.
par contre changer les dates de création ou d'accès je ne vois pas trop l'intérêt.

Hors ligne

#75 Le 28/01/2025, à 21:35

Watael

Re : Comment renommer en masse des photos ?

pour refléter la date de prise de vue, ou de création de l'image, ça ne me semble pas aberrant.

edit:
mouais, ça demande quand même un accès root pour suspendre le NTP, et modifier la date système... hmm

edit2:
en faisant une recherche sur fakeroot, je suis tombé sur faketime

https://manpages.ubuntu.com/manpages/trusty/man1/faketime.1.html a écrit :

faketime - manipulate the system time for a given command

il y a des exemples.

mais cp semble s'en moquer. sad

Dernière modification par Watael (Le 29/01/2025, à 03:21)


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

En ligne