Datei Name bearbeiten

Ich hab mal versucht eine Aktion zu bauen, die möglichst viel von diesen chaotischen Dateinamen aus dem Internet abdeckt.

Meine Aktionsgruppe besteht aus folgendem:

  1. Aktion: Tag-Felder importieren
    Quellformat: $if($eql($regexp($left(%_filename%,2),(\d.|\w\d|\w\W),@@@),@@@),$regexp(%_filename%,^(\d+|\w\d|\w\W)\W*(.?)-(.),$1@@@$2@@@$3),$regexp(%_filename%,(.?)-(.),%track%@@@$1@@@$2))
    Formatstring: %track%@@@%artist%@@@%title%
  1. Aktion: Tag Feld formatieren
    Feld: ARTIST
    Formatstring: $trim($caps($replace(%artist%,_, ), '('))
  1. Aktion: Tag Feld formatieren
    Feld: TITLE
    Formatstring: $trim($regexp($caps($replace($regexp($regexp(%title%,(.)www'.'.,$1),')'.,')'),, ), '('),(||-| )(||-| )(||-| )$,))

  2. Aktion: Tag Feld formatieren
    Feld: TRACK
    Formatstring: $trim(%track%)

Das lässt erstmal den Dateinamen wie er ist und versucht, die Tag-Felder ARTIST, TITLE und TRACK mit Informationen daraus zu füllen.
So genau blick ich auch nicht mehr durch, was das genau macht. Ich hab das immer wieder optimiert und jetzt deckt es ziemlich viele Möglichkeiten ab. Kann aber auch mal zu falschen Einträgen führen.
Wenn eine Datei mit einer Ziffer, mit Buchstaben+Ziffer (a1, b1) oder Buchstaben+Sonderzeichen (a-, b., "a ",) beginnt, wird das als TRACK geschrieben, sonst wird dieses Feld leergelassen.
Dann wird im Prinzip alles bis zum ersten Minus "-" als ARIST geschrieben und alles danach als TITLE.
Hinterher werden die drei Felder noch ordendlich formatiert. Also alles Unterstriche weg, alle Wörter groß geschrieben, und bei TITLE eben so typischer Spam aus den Dateinamen gelöscht. z.B. alles was nach der ersten geschlossenen Klammer kommt oder wenn ein www vorkommt alles ab da.
Funkitioniert auch mit deinem Beispiel wunderbar. Ich nenn es meine Jesus-Aktion, weil es wirklich so gut wie mit allem funktioniert. Wichtig ist nur dass ein Minus zwischen Künstler und Titel steht. Durcheiander kommt es, wenn im Künsternamen ein Minus vorkommt. Spezielle Groß und Kleinschreibungen können natürlich auch nicht berücksichtigt werden.

Um den Dateinnamen kümmere ich mich persönlich nicht, da ich alles per Tags verwalte. Aber mann kann ohne Problem noch eine 5. Aktion hinzufügen:

  1. Aktion: Tag Feld formatieren
    Feld: _FILENAME
    Formatstring: $if2($num(%track%,2) - ,)%artist% - %title%
$if2($num(%track%,2) - ,) schreibt die Tracknummer zweistellig wenn sie vorhanden ist und schreibt ansonsten nichts. $if2($num(%track%,2) - ,00 - ) schreibt ansonsten "00"

Du kannst dass auch ganz weglassen, wenn du die Tracknummer nie im Dateinamen haben willst.

Ach ja, ich weiß ja nicht wie gut du mit Mp3Tag vertraut bist. Sollten deine Dateien bereits perfekt gefüllte Tags haben, ist es natürlich einfacher, nur die 5. Aktion durchzuführen, bzw. den Formatstring daraus einfach in den Tag-Filename Konverter zu schreiben.