[Mehrfach-Umbenenn-Tool] Schwierige Umbenenn Aufgabe-lösbar?
Moderators: Hacker, Stefan2, white
[Mehrfach-Umbenenn-Tool] Schwierige Umbenenn Aufgabe-lösbar?
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?
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?
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.
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.
Der zweite Schritt kann entfallen, wenn Du Suchen nach so:
änderst. Damit wird nur ein Leerzeichen eingefügt, wenn vor dem Großbuchstaben ein anderes Zeichen steht.
sheepdog
Code: Select all
(?-i)(.*[A-Z-])
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
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!
@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!
Sorry, ich habe einfach nur geschlafen 
Versuchs mal damit:
Suchen nach:
ersetzen durch:
Regex ein.
sheepdog

Versuchs mal damit:
Suchen nach:
Code: Select all
(?-i)([a-z-])([A-Z123456789].)
Code: Select all
$1 $2
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
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:Ersetzen durch:
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:Ersetzen durch:
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:Ersetzen durch:
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:Ersetzen durch:
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.


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+)
Code: Select all
°$1
°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
^°
Code: Select all
<Löschen>
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
°°
Code: Select all
°
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
\.(.*)°(.*)
Code: Select all
.$1$2
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.
Ich habe schon wieder nicht zu Ende gelesen. Ist heute wohl nicht mein Tag.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
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
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
-
- Senior Member
- Posts: 415
- Joined: 2005-05-24, 10:41 UTC
- Location: Wien
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.
Das Programm Autohotkey finde ich auch sehr nützlich.Franz Müller wrote:Um mehrere Schritte im MUT hintereinander automatisch durchzuführen, würde ich Dir raten, das Programm autohotkey zu installieren.
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
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
-
- Senior Member
- Posts: 415
- Joined: 2005-05-24, 10:41 UTC
- Location: Wien
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.
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.
Okay, das stimmt sicher.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.
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


sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams