$validate-Fehler? Mehrere Punkte im Albumnamen


#1

Wenn ich z.B. einen Albumnamen wie "En attendant d'aller sur Mars..." habe und den mit $validate in einen Verzeichnisnamen übertragen möchte '%_filename%),)' - also alles Ungültige mit nichts ersetzen - bekomme ich Fehlermeldungen wie


Mp3tag v2.47b

Datei "F:\mp3\B\En attendant d'aller sur Mars\BOTH
(En attendant d'aller sur Mars).mp3" konnte nicht in
"F:\mp3\B\En attendant d'aller sur Mars...\2005\01 - En attendant
d'aller sur Mars.mp3" umbenannt werden.

Das System kann den angegebenen Pfad nicht finden.

Muss ich die Punkte im Zusammenhang mit Verzeichnisnamen gesondert validieren?


#2

Darf ich noch mal nachfragen, ob das jemand bestätigen kann?
Wie umgeht Ihr das Problem?


#3

Also ich formatiere immer den Ordnernamen, nicht den Dateinamen. Dabei hab ich keine Probleme mit Punkten.

Folgende Aktion nehme ich sehr oft her:
Aktion: Tag-Feld Formatieren
Feld: DIRECTORY
Formatstring: $replace($validate(%albumartist% - %album% (%year%),
),,_)

Ein Test ergibt bei mir dass auch der Konverter kein Prolem mit Punkten im Albumnamen hat:
Konverter: Tag-Dateinamen
Formatstring: $replace($validate(%albumartist% - %album% (%year%),),,)\%_filename%


#4

Kann dein Problem jetzt doch teiweise bestätigen.
Das Problem liegt scheinbar an den Punkte am Ende eines Ordnernamens. Das scheint in Windows nicht erlaubt zu sein. Deshalb werden sie beim Formatieren mit Mp3tag auch einfach weggelassen.
Dabei wird der Punkt im Pfad von Mp3tag aber angzeigt, obwohl er nicht da ist. Dies führt aber bei mir zu keinen weiteren Fehlern, die Dateien werden weiterhin richtig gelesen und können auch noch bearbeitet werden, obwohl Mp3tag eigentlich einen falschen Pfad anzeigt. Scheinbar wird der Punkt in dieser Position auch beim Lesen der Dateien ignoriert.

Die $validate Funktion erfasst den Punkt nicht, den eigentlich ist er für Pfadnamen ja ein gültiges Zeichen.
Aber Mp3tag verhält sich bei mir eh so wie du das möchtest, die Punkte am Ornderende werden durch nichts ersetzt.

Wenn man die Punkte doch durch etwas anderes ersetzen möchte, könnte mann sie mit einer regexp Funktion erfassen, z.B.:
$regexp(formatstring,.(?=.*\\),_)