The: In den Tags am Anfang, im Dateinamen am Ende

Hi zusammen,

bisher benenne ich meine Dateien bzw. Ordner mit folgendem regulärem Ausdruck (_FILENAME) um:

$replace($upper(%artist%) -- $meta(genre)(%year%) %album%\%artist% - (%year%) %album% - %discnumber%$num(%track%,2) - %title%,/,; ,:, - ,?,)

das sieht dann z.B. so aus:

THE BEATLES -- Rock, Pop, Beat \ (1994) Live At The BBC \ The Beatles - (1994) Live At The BBC - 126 - Long Tall Sally.mp3

Nun möchte ich allerdings, das The nur in den ID3-Tags am Anfang steht, aber im Dateinamen bzw. Ordner am Ende.
Kann mir bitte jemand helfen?

Ich habe es jetzt vorerst wie folgt gelöst:

  1. Interpret wird umbenannt: The Gaslight Anthem -> Gaslight Anthem, The
  2. Dateiname/Ordnerstruktur wird erstellt (siehe oben)
  3. Umbennen wird rückgängig gemacht: Gaslight Anthem, The -> The Gaslight Anthem
Das ist leider nicht wirklich schön.

Gibt es andere Vorschläge?

Das ist eher ein Formatstring. Das "The" kannst du mit einem regulärem Ausdruck filtern:
Ersetze das "$upper(%artist%)" durch "$regexp($upper(%artist%),(THE|DER|DIE|DAS) (.*),$2',' $1)".
Der String vertauscht auch Interpreten, die mit DER DIE und DAS anfangen (wenn du nur the willlst lass "|DER|DIE|DAS" weg).

mfG
gnor

Stimmt, verwechselt^^

Habe es ausprobiert und das %artist% im Dateinamen ebenfalls ersetzt, allerdings ohne $upper(). Somit sieht der komplette neue String wie folgt aus:

$replace($regexp($upper(%artist%),^(THE|DER|DIE|DAS) (.),$2',' $1) -- $meta(genre)(%year%) %album%$regexp(%artist%,^(The|Der|Die|Das) (.),$2',' $1) - (%year%) %album% - %discnumber%$num(%track%,2) - %title%,/,; ,:, - ,?,)

bzw.

BEATLES, THE -- Rock, Pop, Beat \ (1994) Live At The BBC \ Beatles, The - (1994) Live At The BBC - 126 - Long Tall Sally.mp3

Funktioniert tadellos, vielen Dank!!!!!

EDIT: Ich hab einen Fehler entdeckt: So wie der String jetzt ist, stellt er das The/Der/Die/Das ans Ende, egal wo es steht! Daher muss unbedingt noch ein ^ eingefügt werden!

Eine Kleinigkeit stimmt irgendwie nicht ... woher kommen die Leerzeichen vor und hinter dem Backslash?

Du kannst auch ein Tagfeld ARTISTSORT bzw. ARTISTSORTORDER anlegen, in dem der korrekte Wert dauerhaft vorhanden ist, dann kann der Formatstring einfacher gestaltet werden.

DD.20091223.1514.CET

ja, richtig bemerkt. die leerzeichen kommen da normalerweise nicht vor. das war nur eine optische spielerei meinerseits :wink:

was deinen zweiten punkt angeht, vielen dank für den vorschlag, aber so bin ich rundum glücklich. mit der ARTISTSORTORDER hab ich leider ein anderes problem: /t/9569/1
seit mich gnor darauf gebracht hat, mit $regexp() zu arbeiten, bin ich fleißig am rumprobieren. leider bisher ohne erfolg :frowning: