Script zu umbenennen von Dateien

J

JimmyJoe

Mitglied
Thread Starter
Dabei seit
24.02.2015
Beiträge
95
Reaktionspunkte
2
Hallo, aktuell möchte ich meine vorhandenen Dateien welche immer im gleichen Muster benannt sind über einen Script ändern.
Der Ablauf sollte so sein, ich markiere die Dateien und starte den Script.
Aktueller Name ist: Rechnung_Kunde_Artikel_30.02.2016
Name nach Ablauf: 2016-02-30_Rechnung_Kunde_Artikel

Hat jemand einen Vorschlag wie ich diesen Ablauf in einen Script bekomme?
 
Suche hier im Forum mal nach "Automator". Das ist ein auf deinem Rechner verfügbares Programm.
Ist jetzt nicht so schwer. Thema wäre: Dateien umbenennen mit Automator,
Konkret: Finder Objekte umbenennen
Findet sich auch sonst viel im Netz dazu.
Je nachdem, welches OS oder OSX läuft, gehen auch einige Sachen per Finder.
 
Glaube aber kaum, dass der Automator dazu in der Lage ist die Bezeichnung automatisch "umzudrehen" ohne selber etwas per Applescript zu implementieren. Wird dem TE, der ja offensichtlich keine Ahnung davon hat, wohl leider nicht groß weiterhelfen.
 
Habe schon im Internet und hier auf der Page geschaut, nur habe ich leider nichts gefunden was passen würde
 
Ich benutze für derrtige Augaben gerne NameMangler. Es ist zwar nicht billig, aber wenn solche Aufgaben häufiger vorkommen, ist es sein Geld wirklich Wert. Besonders, wenn man recht komplexe Umbenennungen braucht, wo z.B. auch Bestandteile des Pfades in die Umbenennung einfliessen sollen.

In deinem Fall reicht allerdings ein Tool aus, wo man mit Regexen Suchen und Ersetzen kann. Der Regex für die Suche wäre

Code:
([:alpha:]*)_([:alpha:]*)_([:alpha:]*)_([0-9]{2}).([0-9]{2}).([0-9]{4})

und für das Ersetzen

Code:
$6-$5-$4_$1_$2_$3

Der Regex prüft jetzt nicht die Korrektheit des Datums. Das wäre nochmal einen ticken aufwändiger. Du könntest es vielleicht mit der Demo von NameMangler probieren.
 
Code:
echo "Rechnung_Kunde_Artikel_30.02.2016" | sed -E 's/(^.*)_([0-3][0-9])\.([0-1][0-9])\.([1-2][0-9][0-9][0-9])/\4-\3-\2_\1/'
 
Ich mache dies mittels "Replace Regular Expression" mit "A Better Finder Rename", wohl ein ähnliches Tool wie NameMangler.
 
@agrajag und @Olivetti
Welche Programme benötigt man zur Ausführung der Codes?

EDIT: Schreibfehler
 
meins: wie immer ist erstmal alles enthalten, copy/paste -> terminal.
 
meins: wie immer, copy/paste -> terminal.
Angenommen, der Ordner Rechnungen enthält 100 Rechnungen aus 2016. Wie funktioniert dann der Code?

EDIT: Ausgehend davon, dass Rechnung, Kunde, Artikel nur Platzhalter sind.
 
dann baust du eine schleife für die dateinamen drumrum oder holst dir den input vom applescript oder automator, whatever.
der TS hat ja ein script, in das er eine bestimmte funktion einbauen will,
wie das aussieht und wie weit er damit gekommen ist, weiss man bisher ja nicht.

für sich alleine liefert der code erstmal anschaulich, dass er funktioniert. :crack:
 
  • Gefällt mir
Reaktionen: KOJOTE
Ich benutze für derrtige Augaben gerne NameMangler.
Das wollte ich auch vorschlagen, das bietet sehr viele Möglichkeiten. Erfordert vermutlich ein klein wenig Einarbeitung, was aber angesichts der Problemstellung unvermeidbar ist.
Fiel mir nur nicht ein, weil ich es nicht benutze, da ich die Möglichkeiten viel zu selten bräuchte.
Renamer4Mac, was ich gelegentlich benutze (um Unterstriche in fremden Dateinamen durch Leerzeichen zu ersetzen), bietet die gewünschten Features nicht, nur einfachere (und tut sich schwer, wenn Punkte im Dateinamen auftauchen). Ist dafür für umme, da beschwert man sich nicht.
 
dann baust du eine schleife für die dateinamen drumrum oder holst dir den input vom applescript oder automator, whatever.
der TS hat ja ein script, in das er eine bestimmte funktion einbauen will,
wie das aussieht und wie weit er damit gekommen ist, weiss man bisher ja nicht.
Ich glaube ja eher, dass der TE gern ein fertiges Script hätte;)
 
das mag sein. manchmal hat man es aber mit dem angellehrer und nicht mit dem fischverkäufer zu tun. :p
 
  • Gefällt mir
Reaktionen: agrajag
Ich mache dies mittels "Replace Regular Expression" mit "A Better Finder Rename", wohl ein ähnliches Tool wie NameMangler.
Grundsätzlich ja. Mir gefällt NameMangler jedoch deutlich besser. Außerdem bietet es einen Advanced-Modus, wo man mit einer einfachen Sprache sehr aufwändige Sachen machen kann, ähnlich der Lösung @Olivetti. Im Gegensatz zu sed ist der Advanced-Modus einfacher (zu verstehen). Und man kann interaktiv das Script bauen, da man das Ergebnis in der Vorschau sehen kann.
 
wenigstens das funktioniert. alles andere war... mist. :crack:
 
Mich wundert ja, daß du einen Mac benutzt und nicht irgendeine BSD/Linux-Kiste mit diesem komischen Windowmanager, der nur Tiled-Terminal-Windows macht. :)
 
Mich wundert ja, daß du einen Mac benutzt
bin ich verrückt, im job gibt's nur linux; allein das gschiss, weil BSD-sed ja doch nur ein kastrierter ist.
mac/windows brauchen wir nur für die kundenprobleme, deswegen läuft das halt immer mit. :crack:
 
  • Gefällt mir
Reaktionen: agrajag
Das mit dem Fischverkäufer und Angelverkäufer mag ja richtig sein, aber so ein simpler Hinweis, man solle irgendetwas rekursiv anwenden ("dann baust du dir eine Schleife") mag didaktisch nicht so wirklich das Gelbe vom Ei sein.
Gerade da kann man derart viel falsch machen, da wäre ein kurzfristiges An-der-Hand-Nehmen - jedenfalls meiner Meinung nach - ganz sinnvoll und angebracht.
 
Zurück
Oben Unten