Klammerinhalt verschieben


#1

Hallo,

ich weiß, für das Verschieben (feat.) wurde hier schon viel vorgestellt, doch irgendwie bekomme ich es nicht gelöst den beliebigen Inhalt von Klammern (incl. der Klammer) aus %artist% und %Titel% nach %command zu verschieben.

Wenn keine Klammer vorhanden ist, bekomme ich immer den ganzen Inhalt des Feldes kopiert.

Wer kann helfen?


#2

Entweder vorher den Filter (F3) benutzen so dass nur Dateien mit Klammer angezeigt werden:
title MATCHES (

Oder eine weitere $regexp Funktion einbauen, die den Inhalt aus Tag-Feldern ohne Klammer ganz entfernt:
$regexp(...,'^[^(]*$',)

Für genauere Hilfe müßtest du deine verwendete Methode etwas genauer darstellen.


#3

Danke für den Hinweis. Die vielen unterschiedlich geschriebenen Zusätze stören mich. Da stehen Jahreszahlen, Live oder sonstige Zusätze im Dateinamen. Ich verteile die Lieder in Unterverzeichnissen %artist%. Gibt es Zusätze, werden entsprechend viele Unterverzeichnisse angelegt. Ich möchte aber den nackten Interpreten herausfiltern und nach dort kopieren. Am liebsten hätte ich natürlich auch noch eine Möglichkeit den Namen automatisch prüfen zu lassen.


#4

Die Machbarkeit davon hängt davon ab, wieviele verschiedenen Künstler du in deiner Sammlung in extra Ordner hast. Ist die Zahl überschaubar, kannst du durchaus einen sehr langen Formatstring basteln, der überprüft ob der Künster in deiner Liste vorkommt und dann die Datei entweder in den Künster Ordner einsortiert oder in eine "Sonstige" Ordner (oder ähnliches) verschiebt.

So wie ich das verstehe musst du ja dann nur Klammern aus dem %artist% Feld entfernen. Klappt das jetzt? Wenn nicht, müßtest du mal die von dir verwendeten Formatstrings posten.


#5

Es ist ja kein Problem beim Verschieben das Verzeichnis aus dem %artist% ohne den Klammerinhalt zu bilden:

F:\Musiklager$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($regexp(%Artist%,(.) ((.)),$1,1)),(^(das|die|der|the) |^)(.)(.),$3),1)),# Sonderzeichen))$regexp(%Artist%,(.) ((.)),$1,1)\%Album%\%artist% - %title%

doch wo bekomme ich fehlende Albumnamen her? Gibt es eine Möcglichkeit für ein automatisches lookup in einer Datenbank? Ich hatte schon MusicBrainz Picard versucht, doch irgendwie klappt das dort auch nicht so richtig. Dort wird zur Abfrage leider auch nur der Dateiname verwendet.
Bei rund 200.000 Dateien ist das eben nicht einfach Ordnung zu schaffen.


#6

Ach, eines meiner Lieblingsthemen:
nein, es gibt keinen Automatismus, da einfach nicht festzustellen ist, welche Version eines einzelnen Stücks man vor sich hat, wenn es ausschließlich der Titel ist.
Denn es gibt das Stücke womöglich in der Version Single, Maxi, Original-Album, Video, Radio, Live, Greatest Hits, Reissue, Extended, Mixed, Bravo Hits (oder so) usw. usf.
Auf was für einem Album soll also das Stück gewesen sein?