Bienvenue sur le site de St Carré

  • Script Nautilus renommer des fichiers

    Dans l’environnement Linunx/Gnome, il y a une fonction intéressante, ce sont les scripts Nautilus. Ils apparaisent dans le menu du “clic droit” et permettent de réaliser une fonction programmée sur un ou plusieurs fichiers.
    Ces scripts sont localisés dans le répetoire ~/.gnome2/nautilus-scripts, certains utilisent l’interface graphique zenity.

    Ce script a évolué, il faut regarder la nouvelle édition qui garde l’ordre des fichiers

    Le script Renomme_fichier.bash

    J’ai créé ce script pour résoudre un problème simple : renommer facilement le nom des photos issuent de mon appareil numérique.

    Les fichiers issuent d’un appareil photo numériques ont un nom sous forme d’un numéro. Pour mon Olympus, il est du type p1010xxx.jpg ou xxx est le N° de la photos dans la série de prise de vues.
    Au bout d’un certain temps, vous vous retrouvez avec plusieurs fichiers portant le même nom et je trouve cela ch..t même si mes photos sont classées par date et évènements.

    Fonctionnement du script

    Le script peut être utilisé via le menu des scripts Nautilus ou en mode commande. Vous devez lui passer en paramètre la liste des fichiers à renommer.

    Les étapes du script :

    1. Controle des paramètres : il faut fournir au moins 1 fichier à renommer. Si ce paramètre est omis, il y a sortie avec un code d’erreur 1
    2. Nouveau nom du fichier : une fenêtre Zenity permet de saisir la racine du nouveau nom du fichier. Le nom du fichier sera composé de la racine fournie suivie d’un numéro.
      Si vous souhaitez renommer 10 fichiers avec comme racine de nom bonjour, ils seront renommés en bonjour_1 à bonjour_10
    3. Controle de la racine du nom : si vous validez la boite de saisie du nouveau nom en laissant une chaine vide, il y a sortie avec le code d’erreur 1. Si vous sélectionnez le bouton Cancel, il y a sortie sans erreur.
    4. Renommage des fichiers : il s’agit d’une boucle qui renommer les fichiers en gardant le type original. Un fichier ancien-nom.jpg sera donc renommé en nouveau-nom_1.jpg.

    Contenu du script renomme_fic.bash :

        #!/bin/bash
        # Author : http://www.saintcarre.fr/
        # Date : 24/11/2007
        #depends: imagemagick, zenity
        #
        #version 0.1
        #Objet : renomme les fichiers sélectionnés en gardant l'extension
        #
        #=========================================
        # Definition des messages
        title="Renommage de fichiers JPG"
        err1="Il faut sélectionner un ou plusieurs fichiers."
        chaine="Les fichiers seront renommés avec la racine spécifiée suivi d'un N° de 1 à $NbFic."
        entree="Nouvau nom"
        err2="Vous n'avez pas saisi de nom de fichier."
        msg_renomm="Renammage en cours ..."
        #=========================================
        curdir=`pwd`
        #test if a file has been selected
        if [ $# -eq 0 ]; then
        zenity --error --title="Error" --text="$err1"
        exit 1
        fi
        #Choix du nouveau nom des fichiers
        NouvNom=`zenity --entry --title "$title" --text "$chaine" --entry-text "$entree" `
        #if $? != 0, user click on cancel button, so exit
        if [ "$?" != 0 ] ; then
        exit
        fi
        #Verification du nom du fichier
        if [ ! "$NouvNom" ]; then
        zenity --error --title="$title" --text="$err2"
        exit 1
        fi
        nbfiles=$#
        #=========================================
        #echo "Renommage des fcihiers, nombre de fichiers a traiter : $#"
        num=1
        (while [ $# -gt 0 ]; do
        type=`echo $1 | cut -f2 -d"."`
        let "compteur += 1"
        num=$(($num+1))
        #echo "Renomage de $1 en $NouvNom-$num.$type"
        mv $1 $NouvNom-$num.$type
        let "progress = compteur*100/nbfiles"
        echo $progress
        shift
        done
        ) | zenity --progress --auto-close --title="$title"  --text="$msg_renomm" --percentage=0
        exit
    

    Installation du script

    Vous devez créer un fichier dans le répertoire ~/.gnome2/nautilus-scripts et l’ouvrir avec votre éditeur préféré (vi, nano, emacs …). Copier le contenu du script fournit au dessus dans le fichier et sauvegarder ce fichier.

    Pour que ce fichier soit exécutable, il faut modifier les droits :

    • ouvrez un terminal
    • allez dans le répertoire du script cd ~/.gnome2/nautilus-scripts
    • modifiez les droits sur fichier chmod 744 renomme_fic.bash pour qu’il soit exécutable par son propriétaire et lisible par tous, chmod 766 renomme_fic.bash pour qu’il soit exécutable et lisible par tous.

    A faire

    Ce script n’est pas parfait, voici quelques idées :

    • choisir le N° du premier fichier renommé
    • renommer les fichiers dans les sous répertoires

     

    lire la suite