7 votes

Comment renommer des images par lots, dans l'ordre numérique inverse ?

Mon appareil photo nomme ses images IMG_0001.jpg, IMG_0002.jpg, IMG_0003.jpg, etc.

J'ai environ un millier d'images et j'aimerais les renommer sans avoir à le faire manuellement si possible.

Existe-t-il un bon moyen d'automatiser le processus de renommage dans l'ordre inverse - par exemple IMG_0003.jpg, IMG_0002.jpg, IMG_0001.jpg ?

12voto

Derek Morrison Points 2359

Vous pouvez utiliser un flux de travail Automator.

Voici ce qu'il en est :

enter image description here

Trier les éléments de l'outil de recherche triera les noms d'images par ordre décroissant (IMG_0003.jpg, IMG_002.jpg, IMG_001.jpg).

Rendre séquentiel les renommera de manière séquentielle (IMG_0001.jpg, IMG_0002.jpg, ...).

Copier des éléments du Finder est facultative, juste pour être sûr de ne pas altérer les fichiers originaux.

4voto

Voici un autre shell script. Vous pouvez l'enregistrer comme un fichier texte normal et ensuite lancer bash /path/to/script.sh du terminal. Retirer le echo pour renommer les fichiers.

cd ~/Pictures/
IFS=$'\n' # the input field separators include space by default
i=1
for f in $(ls -r IMG*.jpg); do 
    echo mv "$f" "IMG_$(printf %04d $i)".jpg
    (( i++ ))
done

3voto

Igor Zelaya Points 2266

Essayez ceci dans le Terminal :

mkdir new
ls IMG* > 1
sort -r < 1 > 2
paste 1 2 | awk '{ print "mv " $1 " new/" $2} ' > 3
. 3

Les fichiers renommés se trouvent dans le répertoire new dossier.

Voici une brève explication de son fonctionnement : il crée un script nommé 3 qui effectue le changement de nom. Pour cela, il crée une liste des images par ordre alphabétique dans 1 et dans l'ordre inverse dans 2 . Ensuite, une ligne est lue dans chaque fichier et combinée dans un fichier mv qui est exécutée lorsque vous lancez la commande 3 . Les images sont renommées dans le fichier new pour éviter les collisions.

2voto

binarybob Points 9292

Nom Mangler (10 $ et essai gratuit) ou Changeur de nom (gratuit/donationware) est également très bon pour ce genre de choses si vous recherchez une application simple et agréable.

1voto

Jozef Legény Points 1125

Vous pouvez utiliser le script perl rename.pl script qui traîne sur le web (par exemple, à partir d'ici ), et placez-le dans le dossier contenant vos fichiers images.

Son utilisation est simple et documentée et il est assez puissant. Pour l'utiliser dans votre cas, remplacez MAXIMUM_NUMBER par le numéro de la dernière photo, puis courir :

perl rename.pl 's/IMG_0+(\d+)/"A_IMG_".sprintf("%04d",(MAXIMUM_NUMBER- $1))/xe' *.jpg && perl rename.pl 's/A_//' *.jpg

Expliquer :

  1. Le premier renommage (avant &&) renommera tous les fichiers en MAXIMUM_NUMBER moins le nombre déjà présent dans le nom du fichier. Il préfixera également le nom du fichier par A_ afin d'éviter d'écraser des fichiers déjà existants.
  2. Le second renommage supprime simplement le A_ à partir des noms de fichiers.

Notez que le script rename.pl script peut faire beaucoup plus que cela si vous avez besoin d'un renommage plus complexe.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X