21. Februar 2014

Finder: Text in Dateinamen ausgewählter Dateien ersetzen

Finder Icon

Vor gar nicht so langer Zeit habe ich dir Automator und seine Vorzüge vorgestellt. Damit kannst du deinen Mac einfache Aufgaben für dich erledigen lassen. Als von mir besonders oft verwendetes Beispiel möchte ich in diesem Beitrag die Möglichkeit des Ersetzens von Text demonstrieren. Wir hantieren mit Dateiauswahl im Finder, Variablen und den speziellen Automator-Aktionen zum Füllen der Variablen mit Werten.

Zuerst legst du einen neuen Workflow der Art Dienst an. Stell sicher dass beim empfangenen Typ Dateien oder Ordner sowie als Programm der Finder gewählt ist.

Dienst mit Dateien oder Ordnern aus dem Finder als Eingabetyp

Dienst mit Dateien oder Ordnern aus dem Finder als Eingabetyp

Weil es didaktisch sinnvoll ist, fangen wir am Ende an. Such die Aktion Finder-Objekte umbenennen, füge sie deinem Workflow hinzu und wähle als Option Text ersetzen.

Aktion für das finale Umbenennen der Dateien

Aktion für das finale Umbenennen der Dateien

Da sowohl Such- als auch Zieltext jedes mal anders sein können, löst du dein Problem über Variablen. Klick mit der rechten Maustaste in die beiden Textfelder, wähle Neue Variable… und vergib einen sinnvollen Namen. Der Wert ist egal, da wir den eh überschreiben.

Variable einfügen

Variable einfügen

Fertig sieht deine Aktion so aus:

Umbenennen-Aktion mit Variablen

Umbenennen-Aktion mit Variablen

Den Wert für die Variablen musst du explizit eingeben. Dazu fügst du 2 Aktionen am Anfang des Workflows hinzu:

  • Nach Text fragen
  • Wert der Variablen festlegen

Bei ersterer darfst du eine sinnvolle Frage formulieren. Achte darauf, dass in den Optionen der Haken bei Eingabe dieser Aktion ignorieren gesetzt ist. Außerdem musst du natürlich die Variable an sich festlegen.

Nach Text fragen und in Variable überführen

Nach Text fragen und in Variable überführen

Das gleiche führst du erneut durch, nur eben für den Zieltext. Außerdem musst du vor die eigentliche Umbenennen-Aktion noch die aktuelle Finder-Auswahl packen (Aktionsname: Ausgewählte Finder-Objekte abfragen). Auch hier in den Optionen den Haken nicht vergessen, damit die Eingabe ignoriert wird.

Der fertige Workflow sieht so aus:

Fertiger Workflow

Fertiger Workflow

Speicher den Workflow, gib ihm einen griffigen Namen z.B. In Auswahl ersetzen und teste ihn an 2 Dateien. Wähle beide Dateien aus…

Ausgewählte Dateien

Ausgewählte Dateien

… wähle über Rechtsklick den Dienst aus…

Dienst im Kontextmenü

Dienst im Kontextmenü

… gibt den Suchtext ein…

Suchtexteingabe

Suchtexteingabe

… sowie den Zieltext…

Zieltexteingabe

Zieltexteingabe

.. und staune, dass es tatsächlich funktioniert hat.

Dateien nach dem Umbenennen

Dateien nach dem Umbenennen

Viel Spaß beim Nachbauen!

Dir gefällt, was du liest?
Sehr schön ;) Erzähl es doch weiter!

5 Kommentare

Frank:

05.07.2014 11:53

Hallo Enno,
verfolge Deinen Tip:
„Text in Dateinamen ausgewählter Dateien ersetzen“

Leider kann ich dir ab dem Punkt / Satz:

„Dazu fügst du 2 Aktionen am Anfang des Workflows hinzu:“ nicht mehr folgen, da ich nicht weiß wie ich Aktionen am Anfang (wo ist der Anfang?) hinzufüge. Kannst Du das genauer erklären?
Dank im Voraus
Frank

Enno:

08.07.2014 17:52

Hey Frank,

sorry für die späte Antwort. Du kannst Workflows hinzufügen, indem du sie aus dem Suchfenster links in das rechte Fenster mit deinen bisherigen Aktionen ziehst. Dort kannst du die Aktionen auch in der Reihenfolge verschieben und entsprechend an den Anfang packen.

Sollte das als Hilfestellung nicht genügen, sag einfach Bescheid.

Viele Grüße
Enno

Mark:

27.01.2015 13:01

Hallo und vielen Dank für deinen Workaround zu dem Thema. Bin begeistert 😉

Jedoch weiß ich nicht wie ich Texte so ersetzen kann, dass diese ohne Leerzeichen ersetzt werden. D.h. ich habe einen Namen“ Hans-Mustermann“und würde diesen gerne so haben, dass nur noch Mustermann stehen bleibt. Lasse ich das zu ersetzende Feld einfach leer, ersetzt er es mir mit dem Namen „Text“. Wäre super wenn du mir da ne Hilfestellung geben könntest. Leerzeichen geht, aber dann habe ich auch im ersetzen Text ein Leerzeichen 😉 Danke für deine Mühe. Gruß Mark

Enno:

03.02.2015 11:12

Hey Mark,

sorry für das Delay, Benachrichtigungen zu Kommentaren landeten im Spam-Ordner.

Das Problem ist mir auch schon aufgefallen. 2 mögliche Ansätze (ohne sie selbst verfolgt zu haben):

1. Du könntest den Standardwert der Variable Zieltext versuchen leer zu lassen. Eventuell wird das von Automator aber nicht gestattet.
2. In dem Fall müsstest du in einem Zwischenschritt die Variable überprüfen nach dem Muster Wenn Wert = ‚Text‘, dann setze Werte auf “. Ob und wie das in Automator zu bewerkstelligen ist, kann ich dir ohne weiteres aber auch nicht sagen.

Ich hoffe, du findest eine Lösung. Darfst bei Bedarf gern Feedback geben, wie du es gemacht hast.

Viele Grüße
Enno

Simon Wehr:

19.02.2016 17:51

Hi Enno,
die Aktion ist cool. Und als Tutorial ist es hilfreich, die Variabken zu verwenden.
Ich habe mir den Dienst aber so eingerichtet, dass ich keine Variablen verwende und im letzten Modul das Häkchen bei »Die Aktion beim Ausführen zeigen« getzt habe.
So genügt dann das letzte Modul vollkommen und man hat sogar noch die Auswahlmöglichkeiten 😉

Beste Grüße, Simon

Kommentar abgeben