• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Dateinamen umstellen mit Automator

clamey

Golden Delicious
Registriert
07.01.07
Beiträge
11
Hallo zusammen,

ich habe bereits gesucht, aber mir konnte bisher nicht geholfen werden, bzw. ich habe nicht das richtige gefunden.

Mein Problem:
Ich habe einen Ordnern mit einer ziemlich großen Anzahl an Dateien, die alle nach folgendem Muster benannt sind:

Text_Nummern.Endung --> Bsp. --> Hallo_12345.doc

Ich muss diese Dateien jetzt so umbenennen, dass das Muster vor der Dateiendung einmal getauscht wird.

Nummer_Text.Endung --> Bsp. --> 12345_Hallo.doc

Ist das mit dem Apple Automator möglich, bzw. gibt es andere Tools, die so etwas können?

Achja: Ich bin Anwender, kein Scripter, Developer, Profi.

Ich danke schon einmal für eure Hilfe!!

Gruß,
clamey
 
Ist das mit dem Apple Automator möglich, bzw. gibt es andere Tools, die so etwas können?

Die Antworten lauten „kommt darauf an“ und „ja“.

Ist es immer das selbe Wort, oder hat es zumindest immer gleich viele Zeichen?
Hat die Zahl immer gleich viele Ziffern?


Freeman
 
Also pauschal würde ich sagen lass dir nen Script schreiben oder ähnliche Kleinigkeit. Auf die schnelle mit dem Automator bekomm ichs nicht hin :D Keine Ahnung wie der den namen tauschen soll, umbennen klar.

Ein "bisschen" mehr Auswahl in Automator wäre schon geil - vorallem Schleifen & andere Statements ....
Schreib Apple Feedback und erwähn auch das jetztige Bugs da raus sollen ;)
 
Ich benutz für sowas ganz gerne Perl. Ich hab auf die Schnelle mal ein Skript zusammengebastelt...

Und jetzt wichtig: Mach ein Backup deines Ordners, noch besser vom gesamten System und auf ein externes Speichermedium, bevor du loslegst. Angaben wie immer ohne Gewähr und Glücksspiel kann süchtig machen. ;-)

Code:
#!/usr/bin/perl -w

opendir(DIR, ".");
my @files = readdir(DIR);
my $tmp;


foreach(@files){
    
    if($_ =~ /(.*)\_(.*)\.(.*)/){
        
        $tmp = $2 . "_" . $1 . "\." . $3;
        rename("$_", "$tmp");
        print "Datei " . $_ . " wurde umbenannt in " . $tmp . "\n";
    }
}
closedir(DIR);

Anleitung:
  • Kopiere den Code in einen Texteditor deiner Wahl, TextEdit z.B. und als Plaintext speichern (kein RTF).
  • Speicher die Datei z.B. als renamer.pl
  • Verschiebe die Datei in den besagten Ordner mit den Hallo_123.doc Dateien
  • Öffne das Programm Terminal im Ordner Programme/Dienstprogramme
  • Navigiere dich im Terminal mit dem Kommando "cd" in deinen Ordner, also z.B. cd Dokumente/Briefe/DerOrdnerMitDenDateien/ (Du kannst auch cd eintippen + ein Leerzeichen danach und den Ordner vom Finder aus ins Terminal ziehen und Enter drücken)
  • Rufe das Skript auf mit perl renamer.pl
Kannst es auch mal mit einem Testordner und wenigen Dateien testen.

PS: Ich hoffe Perl ist vorinstalliert.
 
So funktioniert es!

Hallo,

vielen Dank für eure Antworten und ein besonders dickes Dankeschön an Guy.brush

Dein Script hat zu 100% genau das gemacht, was es sollte, bzw. was ich brauchte! Super!!

Schönen Restsonntag euch allen!

Clamey