Brauche Hilfe beim erstellen von String

Hallo Ihr da draußen,

bin von MP3tag schwer begeistert - großes Lob an die Macher erstmal.
Leider sind die meisten Dinge für mich böhmische Dörfer obwohl ich hier fast täglich lese und auch viel probiere in MP3tag.
Würde mich riesig freuen wenn mir ein (oder mehrere^^) erfahrene User helfen könnten bei meinen Problemen mit dem Proggi.

Ich kann die Funktionen "Tag->Dateiname" "Dateiname->Tag" und diverse Zeichen durch andere ersetzen anwenden - das wars dann aber leider schon, mehr bekomme ich einfach nicht hin, und bin schon langsam am verzweifeln.

Ich möchte folgendes machen mit MP3tag wenn es so überhaupt möglich ist:

es sollte folgendes gemacht werden mit möglichst wenigen Arbeitsschritten (ist es sogar mit nur einem Schritt machbar?):
Ein ordner soll erstellt werden in dem dann die Tracks kopiert/verschoben werden.
Die Stuktur soll so aussehen:

D/Music/Anfangsbuchstabe des Interpreten z.B. A bei ABBA/ABBA/[Jahr]/Titel des Albums z.B. The Best Of/

Die Tracks selber sollten so aussehen: ABBA - Dancing Queen.mp3
(sie liegen in diesem Format schon vor in jeweiligen Ordnern, die aber falsch benannt sind)

In den Tags der einzelnen Tracks sollen also nur Interpret - Titel stehen ausserdem habe ich im Tag dann nur noch das Jahr und das Album angegeben.

Ich hoffe ich konnte es einigermassen verständlich rüberbringen was mein Anliegen ist und würde mich wirklich riesig freuen wenn Ihr mir helfen könntet. Wichtig wäre so eine Hilfe in der Art einer Schritt für Schritt Anleitung, da ich wie schon erwähnt sehr überfordert bin mit dieser Sache.

herzlichen Dank schonmal

Gruß
Trinity

Hi,

das geht in einer Funktion:
Konverter Tag-Dateiname:
String: D:\Music$left(%artist%,1)\%artist%'['%year%']'\%album%\%artist% - %title%
(ggf. kannst du Sachen, die nicht immer im Tag sind, mit [] ummanteln, dann werden sie nur erstellt, wenn sie im Tag vorhanden sind)

Alternativ kannst du auch den String benutzen:

D:\Music\$if($isdigit($regexp($lower(%artist%),(^(das|die|der|the) |^)(.)(.*),$3)),Zahlen,$if($eql($regexp($regexp($lower(%artist%),(^(das|die|der|the) |^)(.)(.*),$3),^\w.*$,1234567),1234567),$upper($left($regexp($lower(%artist%),(^(das|die|der|the) |^)(.)(.*),$3),1)),Sonderzeichen))\\%artist%\'['%year%']'\\%album%\\%artist% - %title%

Der sortiert Interpreten mit the, der, die, das entsprechend diesem Beispiel:
"The Beatles" kommt in Ordner "B"
Außerdem sortiert er Interpreten, die mit einer Zahl beginnen, in den Ornder Zahlen und welche, die mit einem Sonderzeichen beginnen, in den Ordner Sonderzeichen.

Als Beispiel: Das Lied "The 89ers - Silence" aus dem Jahr 1950 und dem Album "Best of" hätte folgenden Pfad:
D:\Music\Zahlen\The 89ers[1950]\Best of\The 89ers - Silence.mp3

mfG
gnor

Wow - ich werd bekloppt :w00t: Eine so schnelle Antwort hätte ich jetzt nicht erwartet, wahnsinn.
1000 Dank dafür - werd das nachher ausprobieren, freu mich schon drauf.

Eine Frage dazu hätte ich trotzdem noch - Du hast geschrieben das Sachen in eckigen klammern nur eingefügt werden wenn sie vorhanden sind. Da ich ja möchte das die Jahreszahl im Albumnamen in eckigen Klammern stehen soll, gehe ich mal davon aus das es so nicht geht oder verstehe ich das falsch? Wäre natürlich kein Weltuntergang, würde die dann in runden Kalmmern machen wenn das geht.

Edit: Du hast geschrieben: Als Beispiel: Das Lied "The 89ers - Silence" aus dem Jahr 1950 und dem Album "Best of" hätte folgenden Pfad:
D:\Music\Zahlen\The 89ers[1950]\Best of\The 89ers - Silence.mp3

Wie müsste der String aussehen wenn das Ergebnis so aussehen soll:?
D:\Music\Zahlen\The 89ers[1950] Best of\01 The 89ers - Silence.mp3

Vielen herzlichen Dank schonmal
Gruß
Trinity

Wenn du die Klammern maskierst (also ' drumherum machst), werden sie nicht als Funktion berücksichtigt. D.h. wenn du z.B. '['%artist%']' schreibst, zeigt der immer die Klammern an, auch im Fall, dass der Interpret nicht vorhanden ist. Also sähe das im Schlimmstfall so aus: [] oder mit Artist [ABBA].
Wenn du also schreibst ['['%year%']'] heißt das: Zeige das Jahr an, wenn es vorhanden ist, und in diesem Fall mit eckigen Klammern drumherum.
Bsp: Jahr vorhanden (1950) -> String liefert [1950]
Jahr nicht vorhanden -> String liefert nichts
Ich hoffe, das war verständlich.

Die 01 ist wahrscheinlich der Track? In diesem Fall musst du das "%artist% - %title%" am Ende des Formatstrings in "%track% %artist% - %tite%" umwandeln.

Falls das hier

kein Schreibfehler war, und du dort keine Ordner haben willst musst du zwischen '['%year%']'\%album den Backslash wegmachen und ein Leerzeichen hin.

mfG
gnor

Vielen Dank - ja das war sehr verständlich (hoffe ich jedenfalls <_< ) - werde es dann mal so ausprobieren und etwas damit experimentieren.

Vielleicht krieg ich ja so auch etwas mehr Verständnis für das Programm. Vielen dank nocmal für die schnelle Hilfe.

Gruß

Trinity