Regular Expressions ... Unterscheidung, womit ein %artist% beginnt

Hallo MP3Tag-Profis,

ich habe MP3 und MP4-Dateien, die ich mit MP3Tag bearbeite. Ist alles korrekt, sortiert der folgende String die Dateien auf eine von zwei externen SSDs, quasi SSD1 nur Musik, SSD2 nur Videos, funktioniert tadellos.

$if($stricmp(%_extension%,mp3),Y:\Musik,Z:\Musik-Video)$validate($if(%compilation%,Compilations\%album%,$if(%albumartist%,%albumartist%\%album%,%artist%\%album%))\$if(%track%,$if(%discnumber%,$num(%discnumber%,1)-,)$if($grtr($len(%_total%),2),$num(%track%,3) ,$num(%track%,2) ),)$if(%artist%,$if(%composer%,$if($leql($len(%artist% %composer% - %title% %subtitle% %publisher%),235),%artist% (%composer%),%artist%),%artist%),%artist%) - %title% $if(%subtitle%,(%subtitle%),),-)$if(%publisher%, - (%publisher%),)

Nun reicht der Platz auf der 2. SSD nicht mehr, auf der ersten ist mehr als die Hälfte frei. Ich würde nun gerne diesen String so anpassen, das oben in der IF-Klausel am Ende, sofern es sich eben um was anderes als MP3 handelt, nochmal unterschieden wird, so das alle %artist%, die entweder mit Zahlen oder mit den Buchstaben A-C beginnen, dann eben auf Y:\Musik-Video landen, alle anderen weiterhin auf Z:\Musik-Video, also muss an der Stelle eine weitere IF-Anweisung rein, die das bewerkstelligt, a la "$if [0-9 A-C a-c]" ... ich krieg das nicht auf die Reihe. Hat da jemand vielleicht einen Vorschlag?

Danke im voraus
Alhifi

Du könntest probieren:
$ifgreater($strstr("01234567890ABCabc",$left(%artist%,1)),0,Y:\Musik-Video,Z:\Musik-Video)

Noch n Tipp, vielleicht

könntest du abkürzen zu [%subtitle%]

Oder

zu [$num(%discnumber%,2)]
Guck mal wo du noch mehr solche Tests auf die Existenz von Feldern hast.

Erstmal vielen lieben Dank für die schnelle Antwort.

Ich hab's gerade noch nicht ausprobiert, aber sucht nicht $strstr den gesamten angegebenen "Text" dann in der darauf folgenden Variablen, hier dem ersten Buchstaben von %artist% ? Daher ja die Überlegung, das mit RegExp zu machen, da finde ich aber in der Doku nur einen Befehl zum Ersetzen ...

Ciaoi
Alhifi

.. funktioniert aber ... ich danke dir!

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