5 votes

Comment renommer en masse dans OS X avec mes besoins

Existe-t-il un utilitaire qui peut renommer les filtres dans plusieurs sous-dossiers et ensuite renommer les fichiers séquentiellement ?

Par exemple, je sélectionne my-pictures et il fera sa magie et renommera séquentiellement tous les fichiers dans tous les sous-dossiers. Pour chaque nouveau sous-dossier, le numéro de séquence se réinitialise à 1.

ancienne structure

my-pictures (dossier parent)
-- dossier1
---- in-costa-rica.png
---- swimming-at-beach-costa-rica.png
-- dossier-panama
---- panama-canal.png
---- with-witch-doctor.png

structure désirée/nouvelle

mes-photos (dossier parent)
-- dossier1
---- 0001.png
---- 0002.png
-- dossier-panama
---- 0001.png
---- 0002.png

6voto

nohillside Points 82672

Les lignes suivantes dans le Terminal devraient faire l'affaire

for dir in my-pictures/*; do
    if [[ -d "$dir" ]]; then
        cd "$dir"
        i=0
        for file in *; do
            echo mv "$file" $(printf "%04d" $i).png
            (( i=i+1 ))
        done
        cd -
    fi
done

J'ai inclus une déclaration echo pour supprimer l'exécution afin que vous puissiez d'abord le tester. Si la sortie semble correcte, supprimez simplement le echo et exécutez à nouveau.

Cela suppose qu'il n'y a pas plus de 1000 fichiers dans chaque sous-dossier, aucun des fichiers n'est déjà renommé et qu'ils sont tous des images PNG.

Par défaut, les fichiers sont triés par nom. Si vous souhaitez trier par date, remplacez la deuxième instruction for par

for file in $(ls -t); do

0voto

Xaltar Points 111

Si vous pouvez faire avec la sélection des sous-dossiers individuels, il y a une application pour ça. Il pourrait ne pas faire exactement ce que vous désirez mais pourrait quand même vous faire gagner beaucoup de temps.

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