Aktion zum Überprüfen von YEAR und ALBUM

Mein Verzeichnispfad mit Dateiname sieht folgendermaßen aus:
...\%artist%\%year% - %album%$num(%track%,2). %title%
Weil %year% - %album% zusammen einen Order bilden, darf ein Album immer nur ein Erscheinungsjahr haben. Für alle Tracks dieses Albums muss also YEAR identisch sein. Sind nun fehlerhafterweise abweichende YEAR-Einträge vorhanden, wird das Album "zerrissen". Ich überprüfe das zwar manuell, aber machmal übersehe ich etwas und der Schaden ist groß.

Nun meine Frage:
Wie könnte man sich eine Aktion basteln, ggf. auch über temporäre Felder, die prüft, ob die Einträge von %year% und %album% im obigen Sinne korrespondieren?

Nachtrag: Ich habe hin und her überlegt, finde aber keinen Ansatz. Egal wie ich vergleichen will und das Ergebnis in ein temporäres Feld schreiben will, fehlt mir immer der Zustand der vorherigen Datensatzes. Ich glaube innerhalb des aktuellen Datensatzes gibt es keine Lösung. Eine Schleife läßt sich aber als 'Aktion' nicht formulieren. Liege ich da richtig?

Gibt es da einen anderen Ansatz? Wer kann helfen?

Ja, die Aktionen beziehen sich immer nur auf die eine Datei, die gerade bearbeitet wird.
'Den Zustand des vorherigen Datensatzes' kannst du vielleicht mit einem Exportskript ermitteln, denn in diesem Bereich sind Schleifen möglich.

DD.20090302.0512.CET

Danke, dann weiß ich, in welche Richtung ich weitermachen muß. Aber wie ich das mit einem Exportscript einbinden könnte, ist mir noch schleierhaft.

Vorschlag zum Weiterbasteln, geprüft werden die Tracks gegen den ersten Track.

$filename(O:\TEST\Verify.Album.Year.txt,ansi)
$loop(%artist%%album%)$loop(%album%,1)$puts(MyYear,$left(%year%,4))
$loopend()%artist% - %album% - %year%': '$if($eql($get(MyYear),),'### leer ###',$get(MyYear))
$loop(%track%)$if($eql($get(MyYear),$left(%year%,4)),,'### '%artist% - %album% - %track% - %title% - %year%' ###')
$loopend()$loopend()

DD.20090302.1651.CET

Ich habe Deinen Vorschlag 1 zu 1 umgesetzt. Es funktioniert einwandfrei. In der Export-txt-Datei suche ich dann nach ### und die notwendigen Änderungen führe ich in MP3TAG aus. Vielen, vielen Dank für Deine Hilfe ... jetzt muss ich aber weiter nach Fehlern suchen ... :rolleyes:

Sehr schön, das höre ich gerne.
In der Zwischenzeit hatte ich das Skript noch etwas verändert.

$filename(O:\TEST\Verify.Album.Year.txt,ansi)
$loop(%artist%%album%)$loop(%album%,1)$puts(MyYear,$left(%year%,4))$loopend()$if($eql($get(MyYear),),'#leer: '%artist% - %album% - %track% - %year% - %_path%,)
$loop(%track%)$if($eql($get(MyYear),$left(%year%,4)),,'#ungleich: '%artist% - %album% - %track% - %title% - %year% - %_path%)
$loopend()$loopend()

DD.20090317.0058.CET

Das sieht ja noch eleganter aus! ... werde ich in den nächsten Tagen ausprobieren. Danke!
Mit Deiner ersten Version habe ich schon alles durch. Ich konnte etliche Fehler beseitigen.

Das Script hat sich über die Zeit bestens in der Praxis bewährt. Noch mal vielen Dank für die entscheidende Hinweise.

Ich bin weiter dabei, Strukturfeher in meiner Samlung zu beseitigen. Bisher suche ich dopplte Alben manuell. Gibt es dazu Vorschläge? Ich habe einen neuen Beitrag eröffnet unter doppelte Alben zu finden

Nochmal nach langer Zeit: Vielen Dank für Deine Hilfe!
Dein Script ist wirklich Gold wert. Ich benutze es immer wieder mit Erfolg.