Komplexe Umbenennungsaktionen
Moderators: Hacker, Stefan2, white
Komplexe Umbenennungsaktionen
Hallo,
ich versuche seit einiger Zeit mit dem Mehrfach-Umbenenn-Tool warm zu werden. Früher hab ich immer externe Tools genommen. Daher ist der Vergleich da...
Ich möchte z.B. unterschiedliche Teile des Namens löschen, andere Teile übernehmen und anderes hinzufügen. Meiner Logik nach, müßte man das in mehreren Durchgängen machen - und die anderen Renamer-Tools machen das auch so. Da kann es zwischendurch auch mal passieren, dass alle Dateinamen gleich sind. Die Zwischenergebnisse werden natürlich nicht angewendet. Nur das Endergebnis. Aber sowas ist im MUT anscheinend nicht möglich. Oder?
Als Beispiel sei mal folgendes genannt:
Dateien mit folgenden Namen: abc_01_xyz-8.xxx, abc_01_xyz-6.xxx und abc_01_weg-8.xxx
Ergebnis soll sein: 01 xyz.xxx, 02 xyz.xxx und 03 weg.xxx
Dazu muss ich den ersten und letzten Part löschen und vorran noch einen Zähler setzen. Soweit ich das jetzt sehe, geht das nicht. Oder? Spätestens nach dem Löschen beider Teile würde sich Datei 1 und 2 überschreiben. OK, nun könnte man erst Durchnummerieren, aber nehmen wir mal an, das geht nicht - die Reihenfolge ist festgelegt. Es ist ja auch eine Prinzip-Frage.
Danke.
ich versuche seit einiger Zeit mit dem Mehrfach-Umbenenn-Tool warm zu werden. Früher hab ich immer externe Tools genommen. Daher ist der Vergleich da...
Ich möchte z.B. unterschiedliche Teile des Namens löschen, andere Teile übernehmen und anderes hinzufügen. Meiner Logik nach, müßte man das in mehreren Durchgängen machen - und die anderen Renamer-Tools machen das auch so. Da kann es zwischendurch auch mal passieren, dass alle Dateinamen gleich sind. Die Zwischenergebnisse werden natürlich nicht angewendet. Nur das Endergebnis. Aber sowas ist im MUT anscheinend nicht möglich. Oder?
Als Beispiel sei mal folgendes genannt:
Dateien mit folgenden Namen: abc_01_xyz-8.xxx, abc_01_xyz-6.xxx und abc_01_weg-8.xxx
Ergebnis soll sein: 01 xyz.xxx, 02 xyz.xxx und 03 weg.xxx
Dazu muss ich den ersten und letzten Part löschen und vorran noch einen Zähler setzen. Soweit ich das jetzt sehe, geht das nicht. Oder? Spätestens nach dem Löschen beider Teile würde sich Datei 1 und 2 überschreiben. OK, nun könnte man erst Durchnummerieren, aber nehmen wir mal an, das geht nicht - die Reihenfolge ist festgelegt. Es ist ja auch eine Prinzip-Frage.
Danke.
Wenn die Unterstriche und der Bindestrich die Konstanten in Deinen Dateinamen sind und die Anzahl der Dateinamensbestandteile bei allen Dateinamen gleich ist, dann kannst Du die Dateien im MUT in einem Schritt folgendermaßen umbenennen:
Umbenennmaske: Dateiname
[C] [N]
Erweiterung
[E]
Suchen & Ersetzen
Suchen nach:
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
Ersetzen durch:
$1 $4.$6
RegEx ankreuzen
Definiere Zähler
Starten bei: 1; Schrittweite: 1; Anz. Stellen: 2
Umbenennmaske: Dateiname
[C] [N]
Erweiterung
[E]
Suchen & Ersetzen
Suchen nach:
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
Ersetzen durch:
$1 $4.$6
RegEx ankreuzen
Definiere Zähler
Starten bei: 1; Schrittweite: 1; Anz. Stellen: 2
Hallo. Danke erstmal. Aber was habe ich da eigentlich gemacht? Was ist denn (\d\d) (.+)_(.+)_(.+)-(.+)\.(.+) und $1 $4.$6 und RegEx? Das sind jetzt ja nicht wirklich meine Dateinamen und passieren tut nichts, auch wenn die Testnamen so ähnlich aussehen. Kannst du das nochmal deutlicher erklären? Sonst muss ich beim nächsten Dateinnamen wieder posten 

-
- Senior Member
- Posts: 415
- Joined: 2005-05-24, 10:41 UTC
- Location: Wien
Hallo,
leider bin ich jetzt immer noch nicht schlauer als vorher, bis auf das ich dieses Problem evtl. lösen könnte.
Wäre jemand so nett, mir zu erklären, was ich da eigentlich mache? Was heißt denn...
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
$1 $4.$6
RegEx
[C:2] [N8-10]
In der Hilfe wird das nicht erklärt - jedenfalls komme ich da nicht weiter. Help!
Hey, ich hab jetzt schon mal rausbekommen, dass man mit dem vermeintlichen Rückgängig-Pfeil (F5) die Dateien wieder in die Liste zurückholen kann.
leider bin ich jetzt immer noch nicht schlauer als vorher, bis auf das ich dieses Problem evtl. lösen könnte.
Wäre jemand so nett, mir zu erklären, was ich da eigentlich mache? Was heißt denn...
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
$1 $4.$6
RegEx
[C:2] [N8-10]
In der Hilfe wird das nicht erklärt - jedenfalls komme ich da nicht weiter. Help!

Hey, ich hab jetzt schon mal rausbekommen, dass man mit dem vermeintlichen Rückgängig-Pfeil (F5) die Dateien wieder in die Liste zurückholen kann.

bugmenot wrote:Hallo,
leider bin ich jetzt immer noch nicht schlauer als vorher, bis auf das ich dieses Problem evtl. lösen könnte.
Wäre jemand so nett, mir zu erklären, was ich da eigentlich mache? Was heißt denn...
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
$1 $4.$6
RegEx
[C:2] [N8-10]
In der Hilfe wird das nicht erklärt - jedenfalls komme ich da nicht weiter. Help!
Hey, ich hab jetzt schon mal rausbekommen, dass man mit dem vermeintlichen Rückgängig-Pfeil (F5) die Dateien wieder in die Liste zurückholen kann.
\d\d => Zwei ZahlenTC-Hilfe Reguläre Ausdrücke wrote: Metazeichen
Hier eine Liste der wichtigsten Metazeichen:
^ Zeilenanfang
$ Zeilenende
. Ein beliebiges Zeichen
\w ein Buchstabe, eine Ziffer oder der Unterstrich
\W das Gegenteil von \w
\d eine Ziffer
\D keine Ziffer
\s ein Worttrennzeichen (Leerzeichen, Tabulator etc)
\S kein Worttrennzeichen
\b findet eine Wortgrenze (Kombination aus \s und \S)
\B Gegenteil von \b
Iteratoren
Iteratoren stehen für Wiederholungen des Zeichens links des Iterators.
* Zeichen kommt nicht oder mehrmals vor
+ Zeichen kommt mindestens einmal vor
{n} Zeichen kommt genau n-mal vor
{n,} Zeichen kommt mindestens n-mal vor
{n,m} Zeichen kommt mindestens n-mal, max. m-mal vor
All diese Operatoren sind "gierig", d.h. sie nehmen so viele Zeichen, wie sie bekommen können. Ein nachgestelltes Fragezeichen macht den Operator "genügsam", d.h. er nimmt nur so viele Zeichen wie nötig.
Beispiel: "b+" angewandt auf den Zielstring "abbbbc" findet "bbbb", "b+?" findet "b".
Alternativen
Alternativen stehen in runden Klammern, und werden durch einen senkrechten Strich getrennt.
Beispiel: (Hans|Fritz|Peter) findet einen der Namen Hans, Fritz oder Peter.
Teilausdrücke für Suchen und Ersetzen
Textteile in Klammern gelten als Teilausdrücke.
Beispiel: Wenn man in einer MP3-Datei Titel und Interpret vertauschen will, die durch einen Bindestrich und zwei Leerzeichen getrennt sind (Titel - Interpret.mp3), so kann man das so lösen:
Suchen nach: (.*) - (.*)\.mp3
Ersetzen durch: $2 - $1.mp3
Dabei steht $1 für den Text in der ersten Klammer, $2 für den in der 2. Klammer.
(\d\d) => Teilausdruck bestehend aus zwei Zahlen, auf den man sich mit $X beziehen kann, wobei X angibt, der wievielte Teilausdruck im Suchausdruck ist
.+ => ein oder mehrere beliebige Zeichen
(.+) => ein oder mehrere beliebige Zeichen als Teilausdruck
\. => der Punkt (der "" Backslash hebt die Bedeutung des Punktes als Symbol für ein beliebiges Zeichen auf)
(\d\d) (.+)_(.+)_(.+)-(.+)\.(.+)
Zwei Ziffern
gefolgt von (mindestens) einem beliebigen Zeichen
dann ein Unterstrich
gefolgt von (mindestens) einem beliebigen Zeichen und noch mal
ein Unterstrich
gefolgt von (mindestens) einem beliebigen Zeichen
dann ein Bindestrich
gefolgt von (mindestens) einem beliebigen Zeichen
dann ein Punkt, der die Dateiendung abtrennt,
die wiederum aus (mindestens) einem beliebigen Zeichen besteht
$1 ist dann der erste Suchausdruck (\d\d), also
Zwei Ziffern
$4 ist der Ausdruck zwischen dem zweiten Unterstrich und dem Bindestrich
$6 die Erweiterung
$1 $4.$6
ist dann
Zwei Ziffern, ein Leerzeichen, der Teil vor dem Bindestrich, ein Punkt und die Erweiterung.
[C:2] zweistelliger ZählerTC-Hilfe Dialogbox MUT wrote:[C10+5:3] Füge Zähler ein, definiere Zählereinstellungen direkt. In diesem Beispiel Start bei 10, Schrittweite 5, Ziffernbreite 3.
Teildefinitionen wie [C10] oder [C+5] oder [C:3] sind auch erlaubt.
[N2-5] Zeichen 2 bis 5 des alten Namens (Total 4 Buchstaben).
[N8-10] Die Zeichen 8 bis 10 des alten Namens
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