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