Automatisiert Verzeichnisnamen aus ID3-Tag erstellen


#1

Guten Morgen,

ich bin mir nicht sicher ob dieser Bereich dafür bestimmt ist.

Ich möchte gerne via Batchverfahren die gesamte Ordnerstruktur meiner Alben einheitlich umbenennen. Alle Files sind mit den notwendigen Information bereits getaggt.

Beispiel:

Vorher:
D:\Musik\Album\Alanis Morissette\Jagged Little Pill

Nachher:
D:\Musik\Album\Alanis Morissette\Alanis Morissette - Jagged Little Pill (1995)

Hat jemand eine Idee wie ich das umsetzen kann?

Vielen Dank und Grüße

jamstyle


#2

Nimm eine Aktion vom Typ "Tag-Feld formatieren" für _DIRECTORY
Format-String: d:\musik\Album\%albumartist%\%albumartist% - %album% (%year%)

Mit Konverter>Tag-Tag geht das auch.

Folgende persönliche Anmerkungen:

  1. Das Trennzeichen "-" zwischen Feldern ist ungünstig, da es auch Teil des Texts im Feld sein kann und dann plötzlich mehrere "-" da stehen. Da wird es später schwierig, die Information den Ursprungsfeldern zuzuordnen. der "_" ist besser, da er nur ganz selten in normalen Texten vorkommt.
  2. ich finde die Struktur relativ redundant, da 2 x der ALBUMARTIST Platz verbraucht. Für beste Kompatibilität darf die Länge des gesamten Dateinamens (mit Laufwerk und Pfad) 254 Zeichen nicht überschreiten - es wäre zu überlegen, ob der durch den doppelt genannten ALBUMARTIST verbrauchte Platz nicht sinnvoller anders zu verwenden ist.
  3. Bei einer Ordnung von Alben eines Künstlers finde ich eine alphabetische Ordnung im Verzeichnis seltsamer als eine chronologische. Ich würde das YEAR vor das ALBUM stellen.

Aber das sind meine Vorlieben und Überlegungen. Es gilt "chacun à son goût"


#3

Hallo ohrenkino

Vielen Dank für die schnelle Hilfe und sehr guten Anmerkungen

Bei (%YEAR%) erhalte ich als Ergebnis (1996 02 13). Kann ich das auch nur auf die vierstellige Jahreszahl begrenzen?


#4

Statt nur %year% verwende $left(%year%,4)

ABER: eigentlich ist YEAR nur 4-stellig (sagt die Norm). Ein Längeres Datum bei Jahr kann zu Ärger führen.
Wenn du die Daten trotzdem behalten willst, wäre das Feld RELEASETIME besser. Darin kann man Jahr, Monat, Tag, Stunde, Minute, Sekunde festhalten.

Kopiere dazu YEAR nach RELEASETIME mit einer Aktion vom Typ "Tag-Feld formatieren" für RELEASETIME - und da du vermutlich nur Jahr, Monat, Tag vorliegen hast, aber keine Uhrzeit, diese aber zu Releasetime dazugehört, fügen wir auch gleich noch eine Dummy-Zeit "T00:00:00" mit hinzu:
Format-String: %year%T00:00:00

Dann passt du noch die Daten in RELEASETIME richtig an mit einer Aktion vom Typ "Ersetzen" für RELEASETIME.
Ersetze alle Leerzeichen durch einen Bindestrich.

Jetzt kannst du das YEAR auf 4 Stellen kürzen:
Aktion "Tag-Feld formatieren" für YEAR
Format-String: $left(%year%,4)


#5

Perfekt!

Das vollständige Datum wird nicht benötigt. Ich habe damals meine FLACs mit dbpoweramp generiert. Ich denke mal das er dort was falsches eingetragen hat.

Vielen Dank für die schnelle und kompetente Hilfe!!!