Ich bin dabei meinen MP3-Bestand auf Fehler durchzusehen und komme bei Filterausdrücken nicht weiter, die mir dabei helfen sollen.
Die Dateinamen haben das Format: $num(%track%,2) - %artist% - %title%.
%track% ist nach folgendem Muster gefüllt: 01/14 oder 001/100
Ich will die Dateien angezeigt bekommen, bei denen die Dateinamen nicht dem Namensmuster entsprechen, also
die Ziffern von %track% vor dem "/ " nicht mit demTrackteil des Dateinamens
%artist% nicht mit dem Interpretenteil des Dateinamens
%title% nicht mit dem Titelteil des Dateinamens
wobei das aus praktikablen Gründen 3 verschiedene Filtern sein dürfen und auch sollten.
Eine einfache Lösung durch komplettes Neubenennen durch eine Aktion verbietet sich, da ich wegen der sich ergebenden zu langen Dateinamen in etlichen Fällen gezwungen war Titel und/oder Artist zwar nicht im Tag aber beim Dateinamen zu kürzen. Es ist also eine Inaugenscheinnahme vor Korrekturen erforderlich.
Danke Ohrenkino.
Irgendwie hatte ich wohl ein Brett vorm Kopf. Allerdings stehe ich ohnehin mit Anführungszeichen (ob doppelt oder einfach oder gar nicht) in Filterausdrücken auf dem Kriegsfuß.
Jetzt taucht leider das Problem der in Dateinamen verbotenen Zeichen auf, d.h. überall wo im Titel z.B. ein Fragezeichen steht, bekomme ich falsche Treffer. Funktioniert eigentlich $validate() in Filterausdrücken nicht? Irgendwie klappt es nicht, wenn ich es wie folgt verwende
"$if($eql(%_filename%,'$validate($num(%track%,2) - %artist% - %title%')),1,0)" IS 0
Funktioniert nicht:
"$if($eql(%_filename%,'$num(%track%,2) - %artist% - %title%'),1,0)" IS 0
"$if($eql(%_filename%,'$validate($num(%track%,2) - %artist% - %title%)'),1,0)" IS 0
"$if($eql(%_filename%,$validate($num(%track%,2) - %artist% - %title%)),1,0)" IS 0
Nein. Ich teste es ja gerade mit einem Album, wo in einem Titel-Tag am Ende ein Fragezeichen steht und das im Dateinamen einfach nur weggelassen wurde. Es ist kein Leerzeichen im Spiel.
"Doppelt gemoppelt" könnte man schreiben ...
"$if($eql($validate(%filename%,''),$validate($num(%track%,3)' - '%artist%' - '%title%,'_')),1,0)" IS "1"
Aber weil ein existierender Dateiname bereits valide ist, geht es auch kürzer ...
"$if($eql(%filename%,$validate($num(%track%,3)' - '%artist%' - '%title%,'')),1,0)" IS "1"
... oder ...
"$if($eql(%_filename%,$validate($num(%track%,3)' - '%artist%' - '%title%,)),1,0)" IS "1"
Die Frage ist, welche Art von Validierung der Dateiname zuvor erhalten hat, ...
wurden ungültige Zeichen ersetzt oder gelöscht?