Ordner anlegen mit Konverter und Aktion

Irgendwie habe ich ein Déjà vu als ob ich irgendwann dieses Problem schon mal geschildert hätte, kann aber nichts dergleichen finden.

Windows erlaubt bei Ordnernamen keine Leerzeichen und auch keine Punkte am Ende.
MP3Tag berücksichtigt dies jedoch nicht korrekt.

Beispiel:
Albumartist: Elton John
Album: To be continued ...
Artist: Elton John
Dateiname: 107 - John, Elton - Your Song.mp3

Eine Konvertierung Tag->Dateiname mit dem Formatstring
D:\Alben\%albumartist%\%album%\$num(%track,2) - %artist% - %title%
zeigt z.B. in der Voransicht
d:\Alben\Elton John\To Be Continued ...\107 - Elton John - Your Song.mp3
und bricht ab mit der Fehlermeldung:

File "D:\Alben\Elton John\To Be Continued\107 - John, Elton - Your Song.mp3" cannot be renamed to "D:\Alben\Elton John\To Be Continued ...\107 - Elton John - Your Song.mp3".
Das System kann den angegebenen Pfad nicht finden.

Der Konverter versucht hier einen nicht windowskonformen Ordner (mit Leerzeichen und Punkten) zu schreiben.

Macht man das Gleiche mit einer Aktion vom Typ "Tagfeld formatieren" für _FILENAME und dem gleichen Formatstring passiert im Prinzip das Gleiche, sofern sich der Dateiname selbst tatsächlich verändert..
Bleibt der Dateiname allerdings gleich (heißt also schon 107 - Elton John - Your Song.mp3) packt MP3Tag eigentlich nichts konkret an, behauptet aber fälschlicherweise von da an in seiner Pfadanzeige, dass der Albumordner nunmehr "To Be Continued ..." heiße und nach einem Antippen der Zeile werden keine Tags mehr angezeigt. Ein Aktualisieren mit F5 bringt die Tags wieder zum Vorschein, die falsche Ordneranzeige mit Punkten bleibt jedoch und erneutes Antippen leert wieder die Taganzeige. Auch ein erneutes Einlesen ändert an diesem Zustand nichts. Das ist dann wohl ein Datenbankproblem.

Auch keine Leerzeichen am Anfang eines Ordnernamens, ein Punkt hingegen funktioniert.

... Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp".

Eigentlich stimmt das wie beschrieben nur für den Windows-Explorer.
Auf der Windows-Kommandozeile kann man sehr wohl einen Ordner namens Test. erstellen:
mkdir \\?\c:\temp\test2.
Der wird im Windows-Explorer auch so angezeigt. Nur kann man ihn im Windows-Explorer nicht mehr löschen. :upside_down_face:
rmdir \\?\c:\temp\test2.
erledigt das.

Letztlich hilft in dem Fall nur ein Löschen und Neuanlegen der Datenbank, wenn man mal von einem manuellen Bearbeiten der Datenbank mit externen Tools absieht.

Ich kann das hier leider nicht reproduzieren, auch nicht mit den angegebenen Beispieldaten.

In der Vorschau im Dialog werden die Punkte noch angezeigt, bei Klick auf Vorschau und beim eigentlichen Umbenennen ist der Pfad bereinigt.

Ich habe nochmals getestet und den Grund für unsere unterschiedlichen Ergebnisse gefunden.
Ich habe dummerweise in meinem o.a. Beispiel meine lokale Testumgebung vereinfacht dargestellt, ohne diese Vereinfachung konkret zu testen.

Bei meinen eigenen Versuchen lautet der Formatstring konkret:
d:\Mp3s\Alben\%albumartist%\%album%\Disc $num(%discnumber%,1)[ - %disc title%]\$num(%track%,3) - %artist% - %title%

Die "verbotenen Punkte" der Variable %album% befinden sich also eine Ordnerebene höher, im Parent-Directory.

Du hast insoweit Recht, dass der Ordnername der Dateien seitens MP3Tag (bis auf die im Dialog angezeigte Vorschau) korrekt verarbeitet wird. Bei übergeordneten Ordnern ist dies aber nicht der Fall.

Danke, jetzt konnte ich es auch reproduzieren und versuche es zu beheben — ohne die Unterstützung für relative Pfade zu entfernen :grimacing:

Der Fehler sollte nun in der aktuellen Beta-Version Mp3tag v3.08a behoben sein. Danke für die Fehlermeldung und die ausführliche Beschreibung!

Nach meinen Tests ist der Fehler behoben.

Allerdings bleibt der Schönheitsfehler, dass im Dialog die falsche Voransicht mit Punkten angezeigt wird.
Ist das zu schwierig/aufwändig zu ändern?

Das Problem, welches ich hier versuche zu umgehen ist, dass beim Ersetzen von Punkten und Leerzeichen auch relative Pfadangaben in absolute Pfadangaben umgewandelt werden.

Ich könnte die Punkte auch schon in der Live-Vorschau im Dialog ersetzen korrigieren lassen, allerdings würden dann relative Pfade in absolute Pfade geändert.
Gerade bei sehr tiefen Verzeichnisstrukturen kann der relevante Teil am Ende des Pfades dann u.U. nicht mehr sichtbar sein. Darüberhinaus gibt es auch die Möglichkeit, dass sich die resultierenden Zielpfade von Datei zu Datei unterscheiden — da wäre ein absoluter Pfad auch eher irreführend.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.