1 votes

Prendre les 7 premiers caractères d'un nom de dossier et les ajouter

J'ai beaucoup de dossiers portant le même nom avec l'année au début et je voudrais déplacer d'une manière ou d'une autre l'année à la fin du nom du dossier

Par exemple, nom actuel du dossier:

(1999) Robert Wyatt - EPs

et je voudrais que ce soit:

Robert Wyatt - EPs (1999)

Lors de mes recherches, je trouve beaucoup de réponses avec la commande de renommage, mais elle n'est pas reconnue sur Mac

Quels outils et techniques peuvent accomplir cela?

3voto

nohillside Points 82672

Script shell court

Exécuter

for s in *; do
    t=$(sed -E 's/^(\([[:digit:]]{4}\)) (.*)/\2 \1/' <<< $s)
    [[ "$s" != "$t" ]] && mv "$s" "$t"
done

dans le répertoire contenant les répertoires à renommer.

Installer rename

Vous pouvez installer rename via Homebrew avec brew install rename.

Utiliser un simple rename.pl

Créez vous-même un petit script perl :

#!/usr/bin/perl
# Usage: rename perlexpr [files]

($op = shift) || die "Usage: rename perlexpr [filenames]\n";

chomp(@ARGV = ) unless @ARGV;

for (@ARGV) {
    $was = $_;
    eval $op;
    die $@ if $@;
    rename($was,$_) unless $was eq $_;
}

0voto

user43889 Points 266

Je suis sûr que vous pourriez faire ce que vous voulez avec un script dans Terminal, mais il est beaucoup plus facile d'utiliser A Better Finder Rename.

Cette application propose une large gamme d'astuces de renommage, mais quelque chose comme ceci ferait l'affaire :

ABFR

Remarquez que l'application coûte 25 $, mais vous pouvez l'essayer gratuitement en premier. Je suis un utilisateur satisfait, sans lien avec le développeur.

0voto

wch1zpink Points 6067

Collez ce code AppleScript suivant dans un nouveau document de Script Editor.app. L'exécution du code dans Script Editor permettra de prendre tous les dossiers actuellement sélectionnés dans la fenêtre du Finder la plus en avant et de renommer les dossiers sélectionnés en supprimant la date et les parenthèses du début à la fin du nom du dossier.

REMARQUE : Si aucun des noms des dossiers sélectionnés dans le Finder ne commence par "(", ou si l'un des éléments sélectionnés n'est pas un dossier... alors le script ne renommera pas cet élément.

tell application "Finder" to set theFolders to selection as alias list

tell application "System Events"
    repeat with i in theFolders
        if name of i starts with "(" then if kind of i = "Folder" then
            set originalName to name of i
            tell me to set newName to (characters 8 thru -1 of originalName) ¬
                & space & characters 1 thru 6 of originalName as string
            set name of i to newName
        end if
    end repeat
end tell

Après avoir testé ce code plusieurs fois sur quelques dossiers actuellement sélectionnés dans la fenêtre du Finder la plus en avant, et que vous êtes satisfait des résultats... Vous pouvez créer une nouvelle action rapide Automator et ajouter une commande Exécuter un script Apple et y insérer le code ci-dessus. Ensuite, enregistrez votre nouvelle action rapide Automator.

entrer la description de l'image ici

Après avoir enregistré votre nouvelle action rapide Automator, elle sera disponible pour une utilisation dans le Finder lorsque vous ferez un clic droit sur les dossiers sélectionnés, dans le menu Actions rapides. Vous pourrez également attribuer un raccourci clavier dans les Préférences Système pour exécuter l'action rapide sur les dossiers sélectionnés dans le Finder.

entrer la description de l'image ici

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