Jahr im Ordnernamen bei foobar


#1

Hallo,

mit foobar versuche ich die Ordner-struktur meiner mp3 sammlung einheitlich zu gestalten. Dabei will ich die Ordner nach dem Schema: "Jahr - Albumname" benennen.

Mein Problem dabei: die Tags die ich erstelle (nicht mit foobar) sind im Feld Date mit "Jahr; genaues Datum" eingetragen.
Sprich, wenn ich nur ein Jahr eingetragen habe steht drin: "2008; 2008"
wenn ich ein genaues Datum eingetragen habe steht drin: "2008; 1-1-2008"

Nun macht foobar das ganz genau und trägt das gesammte Feld ein...ich will aber nur das Jahr eingetragen bekommen.

Also anstatt "2008; 2008 - Erdachtes Album" will ich "2008 - Erdachtes Album" haben.

Mein Versuch %year% anstelle von %date% zu nutzen, brachte mir nur das nun kein Datum eingefügt wird.

Ich will ja nur das die Zahl vor dem Semikolon genutzt wird...gibt es dafür eine Möglichkeit? Oder muss ich etwa nun alles per Hand ändern?


#2

Es wäre ja jetzt interessant zu hören gewesen, mit welcher Funktion, welchem Konverter oder welcher Aktion du die Benennung durchführen willst.
Egal: am Ende läuft es darauf hinaus, dass du
$left(%date%,4)
Statt nur %date% als Namensbestandteil nimmst.


#3

Du bist hier nicht im foobar Forum, sondern im Mp3tag Forum.

Mit welcher Anwendung hast du das Tag-Feld DATE erzeugt?
Ist das Tag-Feld DATE ein Einzelwert Tag-Feld oder ein Mehrwert Tag-Feld?

Wenn ich das richtig sehe (siehe: "Mp3tag Manual/Namen und Mapping von ID3v2/WMA/MP4 Tag-Feldern") ist das Tag-Feld DATE zwar ein definiertes Feld im ID3v2.3 Standard, aber ansonsten selten im Gebrauch.
Das Tag-Feld YEAR ist gebräuchlich in mehreren Tag Formaten.

Du kannst ein Tag-Feld nennen wie du willst und darin Daten eintragen wie du willst.
Damit schaffst du dir einen persönlichen Standard.

Wenn du ein Datum speichern willst, dann ist es empfehlenswert, es nach der Norm ISO 8601 zu speichern, also z. B. im Format YYYY-MM-DD. Dieses Format hat den Vorteil, dass es weltweit definiert ist und sortierbar ist und leicht zerlegbar und zusammensetzbar ist.
Wenn man nur das Jahr benötigt, so nimmt man eben nur die ersten vier Stellen.
Beispiel:

$left('2011-03-03',4) ==> '2011' $left(%YEAR%,4) ==> '2011'

Mp3tag unterstützt sogenannte "multi-value" Tag-Felder, so dass unter einem Tag-Feld Namen mehrere Werte gespeichert und separat auslesbar sind.
Die einzelnen Werte sind im Tag technisch intern durch eine binäre Null getrennt.
Für die Bearbeitung eines solchen "mehrwertigen" Tag-Feldes benutzt Mp3tag als Ersatz für die binäre Null die Zeichenkette '\\' (doppelter rückliegender Schrägstrich) als Wert Trenner.
Wenn du z. B. im Dialog "Erweiterte Tags..." ein Tag-Feld MEIN_DATUM mit dem Wert 2011\\2011-03-03 füllst und speicherst, dann siehst du anschließend zwei Einträge in der Tag-Feld Liste mit demselben Namen "MEIN_DATUM", jeweils gefüllt mit einem Wert "2011" bzw. "2011-03-03".

Für "mehrwertige" Tag-Felder stellt Mp3tag entsprechende "Meta" Funktionen zur Verfügung (siehe "Mp3tag Manual/Skriptbefehle/Funktionen für Metadaten (inkl. multiple Tagfelder)"
Beispiele:

$meta(MEIN_DATUM) ==> '2011, 2011-03-03' $meta(MEIN_DATUM,0) ==> '2011' $meta(MEIN_DATUM,1) ==> '2011-03-03' $meta_sep(MEIN_DATUM,'#') ==> '2011#2011-03-03' $meta_sep(MEIN_DATUM,';') ==> '2011;2011-03-03' $meta_sep(MEIN_DATUM,',') ==> '2011,2011-03-03' $meta_sep(MEIN_DATUM,' + + + ') '2011 + + + 2011-03-03'

Du kannst das Tag-Feld MEIN_DATUM selbstverständlich füllen wie du willst, zum Beispiel mit einem Einzelwert als Zeichenkette '2011; 03-03-2011' oder auch '2011; 3-3-2011' oder auch '2011; 2011-03-03'.
Um schließlich an einen Teil des Einzelwerts heranzukommen, musst du Mp3tag Skript Funktionen benutzen, was dann schon anspruchsvoll werden kann.
Beispiele:

$regexp(%MEIN_DATUM%,'^(.+?);\s(.+?)$','$1') ==> '2011' $regexp(%MEIN_DATUM%,'^(.+?);\s(.+?)$','$2') ==> '2011-03-03'

DD.20110303.1008.CET


#4

Erstmal danke für die Antworten.

Mit $left funktioniert das :slight_smile:

Sorry.
Ich habe bei meiner Google Suche hier viele Einträge gefunden die mit foobar zu tun haben. Da dachte ich das ist ok.

Die Tags meiner Dateien habe ich mit MediaMonkey gesetzt.

ich hab mir jetzt mal den Header komplett angesehen: also für mich sieht es so aus als ob es 2 Felder währen. Das eine Date, wo das vollständige Datum drinne steht (wenn keines angegeben dann eben nur das Jahr) und das Feld Jahr. Foobar scheint diese beiden Felder dann zusammenzufügen...
Nun wundert mich warum %year% darauf nicht klar kommt...vllt mach ich ja auch nur was falsch.

Richtig. Mach ich normalerweise auch so. Hab das nur in meinem Beitrag falsch geschrieben...

Von foobar mit den "File operations" die Option "Move to".

Hat mp3tag auch solche Funktionen und sind diese vllt besser umgesetzt?


#5

Wenn Media Monkey im Spiel ist, dann wird es sich vermutlich um ein "multi value" Tag-Feld handeln.
Was zeigt Mp3tag im Dialog "Erweiterte Tags..." dazu an?

DD.20110303.1916.CET


#6

es zeigt an: 2007\\2007-09-18

also wie du sagtest ein multi value Feld...


#7

An welcher Stelle im Mp3tag hast du das gesehen?
2007\\2007-09-18
Im Dialog "Erweiterte Tags..." wohl eher nicht.

DD.20110304.0252.CET


#8

Im Feld "Jahr".

Es kommen ja auch Windows und alle anderen Programme damit klar...inklusive meinem mp3-Player. Die werden wohl bis zum Trennzeichen lesen.


#9

Vermuten ist nicht wissen.

Noch einmal zur Klärung der Sachlage:
In welchem Mp3tag Dialogfenster befindet sich das von dir entdeckte Feld "Jahr", das den Wert "2007\\2007-09-18" anzeigt?

DD.20110304.1050.CET