Renommer des fichiers
Pour renommer facilement des fichiers, rien de plus pratique qu’un
script nautilus
!
J’ai modifié mon script décrit sur cette
page
pour que le nouveau nommage garde l’ordre de tri.
Pour installer ce script, il faut copier le contenu dans un fichier du
dossier $HOME/.gnome2/nautilus_scripts
, chez moi il s’appelle
renomme_fichier.sh
. Il faut ensuite le rendre exécutable avec la
commande `chmod 755 renomme_fichier.sh.
Dépendance : zenity est requis pour
afficher les fenêtres d’information, pour l’installer :
aptitude install zenity
.
Il a été testé sous Debian SID et Ubuntu 9.04, il doit fonctionner avec n’importe qu’elle distribution.
#!/bin/bash
# Author : YLP http://www.saintcarre.fr/
# depends: zenity
#
# version 0.1 du 24/11/2008, creation
# Objet : renomme les fichiers sélectionnés en gardant l'extension
#
# Version 0.2 du 27/08/2009
# La numerotation se fait sur 3 digit pour faciliter les tris.
#=========================================
# 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 001 à XXXXXX."
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 fichiers, nombre de fichiers a traiter : $#"
num=0
(while [ $# -gt 0 ]; do
type=`echo $1 | cut -f2 -d"."`
let "compteur += 1"
num=$(($num+1))
if [ $num -gt 0 ] && [ $num -lt 10 ]; then # pour les paramètres 1 à 9
numero=00$num # rajouter 2 digit => 001, 002, 003,..., 009
fi
if [ $num -gt 9 ] && [ $num -lt 100 ]; then # pour les paramètres 10 à 99
numero=0$num # rajouter 1 digit => 010, 011, 012,..., 099
fi
if [ $num -gt 100 ] ; then # pour les paramètres supérieur à 100
numero=$num # ne pas rajouter de digit => 100, 101, 102,...
fi
#echo "Renomage de $1 en $NouvNom-$numero.$type"
mv $1 $NouvNom-$numero.$type
let "progress = compteur*100/nbfiles"
echo $progress
shift
done
) | zenity --progress --auto-close --title="$title" --text="$msg_renomm" --percentage=0
exit