[Mehrfach-Umbenenn-Tool] Schwierige Umbenenn Aufgabe-lösbar?

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
zx6r
Junior Member
Junior Member
Posts: 3
Joined: 2005-09-02, 22:07 UTC

[Mehrfach-Umbenenn-Tool] Schwierige Umbenenn Aufgabe-lösbar?

Post by *zx6r »

Ich will Dateien umbenennen lassen die zur Zeit folgendermassen aussehen:

EduardZimmermann-EinZwoDreiVier.mp3
GesineSchindler-DerZugIstAbgefahren.mp3
...

Und so sollen sie danach aussehen:

Eduard Zimmermann - Ein Zwo Drei Vier.mp3
Gesine Schindler - Der Zug Ist Abgefahren.mp3
...

Also quasi vor jedem Großbuchstaben ein Leerzeichen reinmachen und auch vor und nach dem Bindestrich. Ich hab die Hilfe von TC deswegen schon durchsucht aber trotz ausprobieren von mehreren Dingen es absolut nicht hinbekommen. Jetzt meine Frage: ist dies überhaupt möglich? Der TC muss ja quasi die Großbuchstaben finden und ich habe keine Funktion gefunden die das ermöglicht im Mehrfach-Umbenenn-Tool. Hat vielleicht jemand eine Lösung?
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Erster Schritt:
In der Optionsgruppe "Suchen&Ersetzen" des Mehrfachumbenenntools eingeben:

Suchen nach: (?-i)([A-Z-])
Ersetzen durch: $1
(vor dem '$' in '$1' ein Leerzeichen nicht vergessen!)

Haken in CheckBox "RegEx" setzen.

Zweiter Schritt:
Jetzt müsstest Du noch das jeweils führende, im ersten Schritt überflüssigerweise eingefügte Leerzeichen entfernen. In der Optionsgruppe "Suchen&Ersetzen" des Mehrfachumbenenntools eingeben:

Suchen nach: ^
(hinter dem '^' ein Leerzeichen nicht vergessen!)
Ersetzen durch: <Löschen>

Haken in CheckBox "RegEx" setzen.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Der zweite Schritt kann entfallen, wenn Du Suchen nach so:

Code: Select all

(?-i)(.*[A-Z-])
änderst. Damit wird nur ein Leerzeichen eingefügt, wenn vor dem Großbuchstaben ein anderes Zeichen steht.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
zx6r
Junior Member
Junior Member
Posts: 3
Joined: 2005-09-02, 22:07 UTC

Post by *zx6r »

Vielen Dank erstmal für eure Vorschläge!

@Sheepdog: mit deiner Lösung bleiben alle Dateinamen so wie sie sind - ist da vielleicht irgendwo noch ein Fehler drin? Wenn ich alles in einem Schritt machen kann, könnte ich nämlich viel Zeit sparen.

@van Dusen: deine Lösung funktioniert sehr gut ich habe aber noch folgende zwei Probleme damit:

1. Ich habe auch Dateien in der Form

BartSimpson-2000Meilen

d.h. direkt nach dem Bindestrich sind Zahlen und keine Buchstaben. Mit deiner Lösung wird bei den Dateien die solche Zahlen drin haben leider vor der Zahl kein Leerzeichen eingefügt.

2. Es sind auch Dateien dabei, die bereits in der Form

Bart Simpsons - 2000 Meilen

sind, d.h. sie haben bereits alle Leerzeichen drin und brauchen daher nicht mehr umbenannt werden. Wenn ich jetzt das Mehrfach-Umbenenn-Tool auch über die Dateien laufen lasse haben die statt einem Leerzeichen zwischen den Wörtern danach jeweils zwei Leerzeichen drin.


Es geht hier um ca 1500 Dateien, d.h. wenn es eine Lösung für Punkt 1 noch geben würde wäre es echt super, falls es für Punkt 2 keine Lösung gibt müsste ich halt manuell alle Dateien um umbenennen ausschliessen, die die Leerzeichen bereits haben. Es kostet mich halt auch wieder viel Zeit.

Ich hoffe ihr habt noch weitere Vorschläge! Danke!
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Sorry, ich habe einfach nur geschlafen :oops:

Versuchs mal damit:

Suchen nach:

Code: Select all

(?-i)([a-z-])([A-Z123456789].)
ersetzen durch:

Code: Select all

$1 $2
Regex ein.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Hmm, Sheepdogs Lösung mag bei mir nicht so recht funktionieren :( ... betrüblicherweise hab' ich bisher aber keine wirklich bessere Alternative anzubieten, sondern nur eine Lösung in mehreren Schritten (deshalb heißt's ja auch "Mehrfach-Umbenenn-Tool" ;) )

Im Folgenden verwende ich das Gradzeichen ("°") anstatt Leerzeichen... also bei der Eingabe statt der "°" jeweils ein Leerzeichen eingeben:

Ausgangssituation
Bart°Simpsons°-°2000°Meilen.mp3
BartSimpson-2000Meilen.mp3
EduardZimmermann-EinZwoDreiVier.mp3
GesineSchindler-DerZugIstAbgefahren.mp3

1. Schritt: Leerzeichen einfügen
Suchen nach:

Code: Select all

(?-i)([A-Z-]|\d+)
Ersetzen durch:

Code: Select all

°$1
Ergebnis:
°Bart°°Simpsons°°-°°2000°°Meilen.mp°3
°Bart°Simpson°-°2000°Meilen.mp°3
°Eduard°Zimmermann°-°Ein°Zwo°Drei°Vier.mp°3
°Gesine°Schindler°-°Der°Zug°Ist°Abgefahren.mp°3

2. Schritt: Führendes Leerzeichen entfernen
Suchen nach:

Code: Select all

Ersetzen durch:

Code: Select all

<Löschen>
Ergebnis:
Bart°°Simpsons°°-°°2000°°Meilen.mp°3
Bart°Simpson°-°2000°Meilen.mp°3
Eduard°Zimmermann°-°Ein°Zwo°Drei°Vier.mp°3
Gesine°Schindler°-°Der°Zug°Ist°Abgefahren.mp°3

3. Schritt: Leerzeichen-Wiederholungen entfernen
Suchen nach:

Code: Select all

°°
Ersetzen durch:

Code: Select all

°
Ergebnis:
Bart°Simpson°-°2000°Meilen.mp°3
Bart°Simpsons°-°2000°Meilen.mp°3
Eduard°Zimmermann°-°Ein°Zwo°Drei°Vier.mp°3
Gesine°Schindler°-°Der°Zug°Ist°Abgefahren.mp°3

4. Schritt: Leerzeichen aus Extension entfernen
Suchen nach:

Code: Select all

\.(.*)°(.*)
Ersetzen durch:

Code: Select all

.$1$2
Ergebnis:
Bart°Simpson°-°2000°Meilen.mp3
Bart°Simpsons°-°2000°Meilen.mp3
Eduard°Zimmermann°-°Ein°Zwo°Drei°Vier.mp3
Gesine°Schindler°-°Der°Zug°Ist°Abgefahren.mp3


Bestimmt lässt sich die Aufgabe eleganter lösen... Nach der Ausführung eines Schrittes kannst Du im MUT mit der <F5>-Taste die Umbenennresultate für den nächsten Schritt laden, ohne das MUT verlassen zu müssen... das vereinfacht die Handhabung zumindest etwas.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

van Dusen wrote:Hmm, Sheepdogs Lösung mag bei mir nicht so recht funktionieren :( ... betrüblicherweise hab' ich bisher aber keine wirklich bessere Alternative anzubieten, sondern nur eine Lösung in mehreren Schritten
Ich habe schon wieder nicht zu Ende gelesen. Ist heute wohl nicht mein Tag.

Meine Lösung bezog sich nur auf Namen ohne Leerzeichen aber mit Zahlen.

Für das genannte Problem muss man dann wohl tatsächlich mindestens 2 Schritte durchführen:

Leerzeichen einfügen, wo keines ist:

suchen nach:(?-i)([a-z-])([A-Z])
Ersetzen durch:$1 $2


(?-i) ->Gross/Kleinschreibung beachten
([a-z-]) -> ein Kleinbuchstabe oder '-' gefolgt von
([A-Z]) -> einem Grossbuchstaben


Leerzeichen vor und hinter Zahlen einfügen:

suchen nach:([a-z-])(\d+)(.)
ersetzen durch:$1 $2 $3

([a-z-]) -> Klein-/oder Grossbuchstabe oder '-'gefolgt von
(\d+) -> einer oder mehreren Zahlen
(.) -> gefolgt von einem beliebigen Zeichen (sonst würde aus 'mp3' 'mp 3'

Ich hoffe, dass ich das jetzt richtig hinbekommen habe.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Franz Müller
Senior Member
Senior Member
Posts: 415
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Um mehrere Schritte im MUT hintereinander automatisch durchzuführen, würde ich Dir raten, das Programm autohotkey zu installieren. Damit kannst Du dann eine ganze Folge von Befehlen automatisch ablaufen lassen (übrigens nicht nur im Total commander, sondern in jedem Windows Programm). Damit ist es dann nicht mehr Aufwand, als wenn es ein einziger Schritt wäre.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Franz Müller wrote:Um mehrere Schritte im MUT hintereinander automatisch durchzuführen, würde ich Dir raten, das Programm autohotkey zu installieren.
Das Programm Autohotkey finde ich auch sehr nützlich.

Allerdings würde ich gerade bei solch komplexen Aktionen, wie dem hier beschriebenen Umbenennen, eher von einem script abraten.

Wenn da irgendetwas nicht wie vorgesehen läuft, muss man hinterher möglicherweise in mühevoller Handarbeit hunderte von Dateinamen restaurieren.

Beim MUT sieht man ja zum einen das Ergebnis gleich im Fenster und man kann bei einem aufgetretenen Fehler auch mit einem Klick alles rückgängig machen.

Wenn man mit einem Script zwei Umbenennungen hintereinander macht, dann bleibt einem diese Möglichkeit verwehrt.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Franz Müller
Senior Member
Senior Member
Posts: 415
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Wenn ich eine Aufgabe nur einmal machen muß, werd ich dafür kein Skript verwenden. Wenn ich sie hundertmal machen muß, erstelle ich ein Skript, teste das gründlich und gehe davon aus, daß genausowenig etwas unvorhergesehenes passiert, wie wenn ich irgend ein beliebiges anderes Programm, das ich gründlich getestet habe, über eine große Datenmenge laufen lasse.

Du hast Recht, daß Skripte etwas heikel sind, weil das Zeitverhalten von Windows manchmal lästig ist, aber dafür gibt es ja die Befehle sleep, waitfor usw.
Für die Konvertierung von Großbuchstaben in MP3 Filenamen (in zwei Schritten) hab ich mir so ein Skript gebastelt, und habe es seither schon sehr oft problemlos verwendet.
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Franz Müller wrote:Wenn ich eine Aufgabe nur einmal machen muß, werd ich dafür kein Skript verwenden.....
Für die Konvertierung von Großbuchstaben in MP3 Filenamen (in zwei Schritten) hab ich mir so ein Skript gebastelt, und habe es seither schon sehr oft problemlos verwendet.
Okay, das stimmt sicher.

Ich wollte nur auf die Gefahr hinweisen, wenn so ein Script (oder auch die Umbenennen -Vorschrift) nicht ausgiebig genug getestet wurde.

Denn: "Ein verbreiteter Fehler von Leuten, die etwas vollkommen Narrensicher machen wollen, besteht darin, dass sie den Einfallsreichtum eines vollkommenen Narren unterschätzen." Douglas Adams

;) :lol:

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
zx6r
Junior Member
Junior Member
Posts: 3
Joined: 2005-09-02, 22:07 UTC

Thanx!

Post by *zx6r »

Ich habs jetzt mit der 4-Schritt Methode gemacht. Das ging bis auf wenige Ausnahmen perfekt die ich dann manuell korrigieren musste. Vielen Dank - ohne eure Unterstützung würde ich jetzt noch dransitzen!
Post Reply