Alben in Ordner verschieben

Hi, kann mir jemand weiter helfen? Habe nun schon öfters gelesen das mp3tag über den convert Befehl quasi ganze Ordner erstellen kann.... Nur leider raffe ich irgendwie nicht wo und wie ich dafür die Zeilen eingeben muss... :frowning:

Das geht mit den Konvertierungen
Tag - Dateiname
Dateiname - Dateiname

aber auch mit entsprechenden Aktionen.
Du musst nur den Zielpfad absolut oder mit enstprechenden Tag-Variablent in den Formatstring mit einbauen.

Ich gebe mal ein Beispiel:
Du hast eine MP3-Datei mit den gefüllten Tags:
ALBUMARTIST, ARTIST, TITLE, TRACK, ALBUM

Du möchtest sie benennen nach dem Muster
TRACK - ARTIST - TITLE
und gleichzeitig mit dieser Benennung-Konvertierung in den Ordner d:\mp3s\%albumartist%\%album% verschieben.

Du wählst also die Konvertierung Tag/Dateiname aus und formulierst folgenden Formatstring:
d:\mp3s\%albumartist%\%album%$num(%track%,2) - %artist% - %title%

Hier einige Hinweise zur Dateistruktur.

Und wie sieht das aus wenn ich das als Aktion speichern will? Hatte das eben versucht aber da muss ich nach dem ich den Aktionsscript kopiert hatte auch nen Aktionstyp wählen?! Verwirrend...

Es wir ja nicht so ganz klar, was du überhaupt willst:
Dateien aus einer ungeordneten Struktur auf neue Ordner verteilen oder
bestehende Ordner neu benennen, aber die Struktur unverändert lassen.

Ich frage mich auch, warum du nicht zuerst den Konverter verwendest, um die mächtigen Möglichkeiten zu erproben. Denn der Konverter hat ne Vorschau.

Wenn du das gleich in Aktionen machen willst, passiert irgendwas im Hintergrund. Und da du anscheinend noch nicht so ganz fit mit den MP3tag-Funktionen bist, empfehle ich eher die Funktion, die etwas mehr Feedback liefert.

Nur so: Aktionen sind gut geeignet für Routinearbeiten. Wie oft wirst du jetzt noch deine Dateistruktur umgraben, wenn du es einmal gemacht hast? Und wenn es passiert, wird ja wohl die alte Aktion nicht mehr passen, weil dir ein besseres Schema eingefallen ist.

Aber vielleicht rege ich mich gerade über etwas auf, was völlig abwegig ist, da es dir nur um die Nennung einer FUnktion geht - und das kann auch der Konverter sein. Vielleicht bin ich nur drauf angesprungen, weil "Aktion" eine bestimmte Funktionsfamilie beschreibt.

Also mein Tipp:

Nimm die Funktion Konverter>Tag-Dateiname
Gib als Formatstring ein:

%artist%\%year% - %album%$num(%track%,2)_%title%

Dies erzeugt ein Verzeichnis mit dem Namen des Künstlers (ARTIST). In dem Verzeichnis wird ein weiteres angelegt mit Jahr (YEAR) und Album (ALBUM). Und in dem landet dann eine Datei mit dem Namen der Tracknummer (TRACK) und dem Titel (TITLE).

Damit das alles funktioniert musst du die genannten Felder gefüllt haben.
Wenn das nicht so ganz die Struktur ist, die dir vorschwebt, dann sag die doch mal, dann ist eine konkrete Hilfe einfacher.

Die Struktur habe ich schon lange gefunden... Also bitte nicht aufregen :wink:
Ich dachte halt ich packe das in eine "Aktion" damit ich wenn ich ein Album habe das auf die AlbenPlatte kopiert wird und eine Compilation auf die CompilationPlatte :wink: Den Konverter nutze ich ja für beide Fälle....

Außerdem ist mM nach die Ordnerstruktur anpassen eher eine Aktion als eine Konvertierung...aber denke das ist Ansichtssache... :ph34r:

Zunächst mal bleibt ja auch jede einmal vorgenommene Konvertierung, die Du über das Konvertermenü gemacht hast, gespeichert bis zu sie explizit löschst. Du musst also nicht unbedingt eine Aktion definieren, um später wieder drau zugreifen zu können.
Das Schöne am Konvertermenü ist, dass man eine Vorschau hat, die zu erwartende Ergebnis anzeigt und man somit schön rumprobieren kann. Beim Aktionsmenü operierst Du ins Blaue und solltest das Ganze immer an einigen Testfiles ausprobieren, ehe Du eine Aktion auf Deinen Datenbestand loslässt.

Über das Aktionsmenü wählst Du
Tag-Feld formatieren
Feld: _directory

Bezogen auf mein o.a. Beispiel sähe der Formatstring dann so aus:
d:\mp3s\%albumartist%\%album%$num(%track%,2) - %artist% - %title%

Der ursprüngliche Ordner bleibt allerdings leer erhalten und muss selbst gelöscht werden.

Zumindest beim Entwurf der Aktion muss du unterscheiden:
Soll der Container "Folder" umbenannt werden? Dann musst du _directory ändern.
Sollen einzelne Dateien neu arrangiert werden? Dann musst du _filename ändern.

Deshalb die Fragerei.

Und um vielleicht nun endlich auch die Frage nach der Aktion zu beantworten:
Nimm eine Aktion vom Typ "Tag-Feld formatieren"
Nimm als Tag-Feld eines von den beiden oben genannten.

Soll eine Datei verschoben werden, nimm _filename. Es kann ein absoluter oder ein relativer Pfad im Format-String enthalten sein, es muss aber auch eine Definition für den Dateinamen enthalten sein.

Soll ein Verzeichnis enthalten sein, nimm _directory. Es muss ein absoluter oder relativer Pfad für das aktuelle Verzeichnis enthalten sein, es darf keine Definition für den Dateinamen dabei sein.

f:[ aLben ]\%albumartist%\%album%$num(%track%,2) - %artist% - %title%

Kann das sein das mp3Tag meinen Ordnernamen nicht mag? Hat das nämlich nun nur nach f: kopiert :smiley:

Ja. Nimm

f:'[' aLben ']'\%albumartist%\%album%$num(%track%,2) - %artist% - %title%

Eckige Klammern haben in MP3Tag eine besondere Funktion und müssen daher in Deinem Fall "maskiert" werden, damit sie in ihrer Funktion nicht ausgewertet werden.

Näheres in der MP3Tag-Hilfe unter Skriptbefehle.

das problem könnten die eckigen Klammern sein in [ alben ] - MP3tag interpretiert Angaben in eckigen Klammern als optionale Ausgaben.
Da in "alben" nichts drin steht, bleibt dieser Teil immer leer und erzeugt so einen Pfadnamen f:\\... und der ist wohl illegal.
Versuche es ohne die Eckigen Klammern. es sollte kein Problem sein, einen ganzen Ordner auf oberster Ebene umzuhängen - oder du verzichtest auf die eckigen Klammern.

Besten Danke :smiley: