Ordner in einem Rutsch umbenennen, ohne Datainahmen und Tags anzutasten

Hmm, da hast du den Formatstring wohl falsch abgeschrieben, denn im Laufe dieses Threads hat sich daran nichts wesentlich verändert (das fixe trennende Leerzeichen wurde ausgetauscht gegen eine Folge von Whitespaces \s+).
Am Anfang:
$regexp(%_directory%,'^(\d+)÷(.+?)$','[$1]÷$2')
Jetzt:
$regexp(%_directory%,'^(\d+)\s+(.+?)$','($1)÷$2')
(ein Sonderzeichen ÷ durch ein Leerzeichen ersetzen)

OP Muelli wünschte anfänglich eckige Klammern um die Jahreszahl.
Die eckigen Klammern haben aber in Mp3tag eine besondere Funktion, und bringen unerfahrene Mp3tag Anwender immer wieder zum Zweifel mit sich selbst.

Siehe Hilfe / Skriptbefehle / Zeichen mit besonderer Funktion:
$% Diese Spezialzeichen müssen durch das ' Zeichen maskiert werden um nicht als Zeichen mit Funktionalität gewertet zu werden.

Deshalb das Unwirksammachen (engl. escape = entfliehen, flüchten) mit den umschließenden Hochkommata.
http://de.wikipedia.org/wiki/Maskierungszeichen
Das hat nichts mit Eskapismus zu tun. :smiley:
http://de.wikipedia.org/wiki/Eskapismus

Die Mp3tag Funktion $regexp(what,expression,replace[,ignore case]) funktioniert eigentlich 'am Besten' bzw. der Anwender ist am Besten gefeit gegen eigene Schreibfehler und gegen Eigenartigkeiten bei der funktionsseitigen Auswertung der einzelnen Parameter, wenn diese Parameter als Zeichenketten (Literale) an die Funktion übergeben werden.

Ich habe ich es mir zur Angewohnheit gemacht, den Inhalt des Parameters 'expression' und gelegentlich auch den Inhalt des Parameters 'replace' komplett zu 'literalisieren'.
Wenn z. B. in einem Ausdruck mehrere einzeln benutzte Sonderzeichen jeweils einzeln maskiert werden müssten und alles ziemlich durcheinander aussieht, dann maskiere ich einfach den gesamten Ausdruck, was dann zu besserer menschlicher Lesbarkeit führt und am Ende auch funktioniert.

DD.20090703.1835.CEST

Muelli_1 ist meine Situation :wink:!

Gruß,
Christoph

P.S.: Bei Muelli_2 werden auch bei mir um beide jahreszahlen korrekt die Klammern gesetzt.
By the way: Vielen Dank für die Mühe!

Na dann sollte doch alles ohne Probleme funktionieren!

DD.20090704.0207.CEST

Ja, das mag sein, aber nur dann, wenn die Ordner in der Mp3tag Listenansicht in der Art sortiert sind, dass zuerst die Unterordner umbenannt werden können und danach die Oberordner.

Allerdings sollte man auf die richtige Sortierung der Ordnerpfade achten, weil das vollständige Rückgängigmachen sonst nicht funktionieren kann.

DD.20090704.0213.CEST

Leider nein; nach wie vor siehtr das Ergebnis so aus, wie auf dem angehangenen Bild.
Muß ich bei der Sortierung der Liste in mp3tag noch irgend etwas beachten?

Gruß,
Christoph


Das kann ich auch nicht verstehen:
In MP3Tag wird nach Ausführen der Aktion der Pfad beider Ordner mit Klammern angezeigt, im Explorer (auch nach Aktualisierung der Ansicht) nicht.
Wenn ich die Ansicht bei MP3Tag aktualisiere, sind die Klammern auch wieder verschwunden.

Gruß,
Christoph


manchmal passiert es mir auch, dass er meine schreibweise nicht ändert.

änder mal den ordner "test" im string in "test_2".

Habe ich, aber das ändert nichts. Erschiene mir auch äußerst unlogisch.

Viele Grüße,
Christoph

Christoph (Muelli), deine Bilder sagen mir nichts wegen der abgekürzten Dateinamen.
Bei unverändertem Szenario (!) bitte einmal die beigefügte CMD Datei starten (Achtung: vorher die Endung .txt entfernen, also dann "Muelli.dir.cmd" starten).
Muelli.dir.cmd.txt (682 Bytes)

Die Stapeldatei erzeugt die Datei "Muelli.dir.txt" auf dem Desktop.
Diese Protokolldatei dann bitte zurückschicken.

DD.20090705.0154.CEST

Muelli.dir.cmd.txt (682 Bytes)

Anbei die Textdatei!

Besten Dank und viele Grüße,
Christoph

Muelli.dir.txt (4.68 KB)

Hallo Christoph, Dank für dein Vertrauen, ich habe dein Szenario nachgebaut, und habe keine Probleme mit dem Umbenennen der Ordner gehabt.
Zunächst.

1 Ordner umbenennen ohne Problem.

1.1 Sortierung / Anzeige im Explorer
K:\test\2001 No More Shall We Part
K:\test\2001 No More Shall We Part - Bonus Disc

1.2 Sortierung / Anzeige im Mp3tag
K:\test\2001 No More Shall We Part - Bonus Disc\01. Grie...
K:\test\2001 No More Shall We Part - Bonus Disc\02. Bles...
K:\test\2001 No More Shall We Part\01. As I...
...
K:\test\2001 No More Shall We Part\12. Dark...

1.3 Tracks selektieren (ein Track je Ordner reicht aus)
und Aktion starten

Umbenennen durch "Tag-Feld formatieren".
_DIRECTORY
$regexp(%_directory%,'^(\d+)\s+(.+?)$','($1) $2')

1.4 Sortierung / Anzeige im Mp3tag
K:\test(2001) No More Shall We Part - Bonus Disc\01. Grie...
K:\test(2001) No More Shall We Part - Bonus Disc\02. Bles...
K:\test(2001) No More Shall We Part\01. As I...
...
K:\test(2001) No More Shall We Part\12. Dark...

1.5 Sortierung / Anzeige im Explorer
K:\test(2001) No More Shall We Part
K:\test(2001) No More Shall We Part - Bonus Disc

Soweit alles in bester Ordnung.
Nun zum Problemfall.

2 Ordner umbenennen mit Problem

2.1 Sortierung / Anzeige im Explorer
K:\test\2001 No More Shall We Part
K:\test\2001 No More Shall We Part - Bonus Disc

2.2 Absteigende Sortierung / Anzeige im Mp3tag
K:\test\2001 No More Shall We Part\12. Dark...
...
K:\test\2001 No More Shall We Part\01. As I...
K:\test\2001 No More Shall We Part - Bonus Disc\02. Bles...
K:\test\2001 No More Shall We Part - Bonus Disc\01. Grie...

2.3 Tracks selektieren (ein Track je Ordner reicht aus)
und Aktion starten

Umbenennen durch "Tag-Feld formatieren".
_DIRECTORY
$regexp(%_directory%,'^(\d+)\s+(.+?)$','($1) $2')

2.4 Absteigende Sortierung / Anzeige im Mp3tag
K:\test(2001) No More Shall We Part\12. Dark...
...
K:\test(2001) No More Shall We Part\01. As I...

K:\test\(2001) No More Shall We Part - Bonus Disc\02. Bles... K:\test\(2001) No More Shall We Part - Bonus Disc\01. Grie...

2.5 Sortierung / Anzeige im Explorer

K:\test\2001 No More Shall We Part - Bonus Disc

K:\test(2001) No More Shall We Part

Der Ordner mit dem längeren Namen wurde tatsächlich nicht umbenannt.

3 Wiederholung von Schritt 2
3.1 Letzte Situation aus Schritt 2 so behalten.
3.2 Aktion nochmal starten (Tracks sind noch selektiert)
3.3 Keine Änderung im Mp3tag
3.4 Keine Änderung im Explorer

4 Nochmal Wiederholung von Schritt 2

4.1 Mp3tag Ansicht aktualisieren.

4.2 Sortierung / Anzeige im Mp3tag
K:\test(2001) No More Shall We Part\12. Dark...
...
K:\test(2001) No More Shall We Part\01. As I...
K:\test\2001 No More Shall We Part - Bonus Disc\02. Bles...
K:\test\2001 No More Shall We Part - Bonus Disc\01. Grie...

4.3 Tracks selektieren (ein Track je Ordner reicht aus)
und Aktion noch einmal starten

4.4 Sortierung / Anzeige im Mp3tag
K:\test(2001) No More Shall We Part\12. Dark...
...
K:\test(2001) No More Shall We Part\01. As I...

K:\test\(2001) No More Shall We Part - Bonus Disc\02. Bles... K:\test\(2001) No More Shall We Part - Bonus Disc\01. Grie...

4.5 Sortierung / Anzeige im Explorer
K:\test(2001) No More Shall We Part

K:\test\(2001) No More Shall We Part - Bonus Disc

Wie ich im Thread oben schon einmal sagte kommt es auf die Sortierung der Pfadnamen im Mp3tag an, dann funktioniert das Umbenennen von Ordnern mit linksbündig teilweise übereinstimmenden Namen ohne Problem.

Aber 'ich würde meinen': da hast du einen Fehler im Mp3tag gefunden.
Gib es zu, das hast du die ganze Zeit schon gewusst. :rolleyes:

Zusammenfassung

Gegeben sind zwei Ordner mit linksbündig teilweise übereinstimmenden Namen:
2001 A
2001 AB
Diese sollen umbenannt werden, z. B. führende Zahlen in Klammern setzen.

Anzeige mit absteigender Sortierung im Mp3tag:
2001 AB
2001 A
Nach der Aktion zeigt Mp3tag an:
(2001) AB
(2001) A
Beide Ordner wurden umbenannt:
(2001) AB
(2001) A

Anzeige mit aufsteigender Sortierung im Mp3tag:
2001 A
2001 AB
Nach der Aktion zeigt Mp3tag an (fehlerhaft):
(2001) A
(2001) AB
Tatsächlich wurde aber nur der Ordner mit dem kürzeren Namen umbenannt (fehlerhaft):
(2001) A
2001 AB

DD.20090706.0028.CEST

Mannomann, ich bin schwer beeindruckt! Da ich bei meinem Szenario immer gleich die gesamte Ordnerstruktur mit Rechtsklick und "mp3tag" aus dem Kontextmenu selektiert habe, musste der Fehler natürlich auftreten.

Gruß,
Christoph