Datei Name bearbeiten


#1

Hallo zusammen!

ich habe ein Problem! ich habe eine Menge mp3´s die so z.B. so aussehen Gareth Emery-Sanctuary-Radio Edit-www-djtunes-com.mp3

Wie kann ich es machen das dieses -www-djtunes-com und auch andere wiel es steht immer unterschiedlich
alles einzel anzuklicken würde Monate dauern.
geht das nicht irgendwie das man die Anzahl der Zeichen abzählen kann und dann löschen oder so was in der Art Weil wie gesagt der Name ist immer oder fast immer unterschiedlich !

Danke im Voraus !


Führende Zahlen usw. in Dateinamen entfernen
#2

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.


Werbung aus Dateinamen entfernen
#3

Suoer danke werde mal gleich ausprobieren !
mfg kostik


#4

Hab den Formatstring von Aktion 3 nocheinmal überarbeitet, so dass jetzt im Titel alles zwischen einem Minus und eines der Wörter (mix|remix|version|edit|rmx|dub) in Klammer geschrieben wird, wenn ein Minus und eines der Wörter vorhanden sind.
3. Aktion: Tag Feld formatieren
Feld: TITLE
Formatstring: $caps($replace($regexp($trim($regexp($replace($regexp($regexp(%title%,(.)www'.'.,$1),')'.,')'),, ),(||-| )(||-| )(||-| )$,)),(.+)-(.+ (?:mix|remix|version|edit|rmx|dub)),$1 ($2),1), , ,'(' ,'('), '(')
(hab den Formatstring in Code eingebettet, weil sonst die zwei aufeinanderfolgenden Leerzeichen nciht dargestellt werden)


#5

Hi Pone, ich weiß, du bist ein Fan von RegExp. Aber:
Die Zeichenketten mit jede Menge Metazeichen sind ja manchmal doch eher was für sehr tief in der Syntax steckende.
Gott sei Dank bietet ja MP3tag mehrere Möglichkeiten, wie z.B. den Konverter "Dateiname Tag" und zurück "Tag Dateiname".

Wenn so ein Dateiname immer wie "Gareth Emery-Sanctuary-Radio Edit-www-djtunes-com.mp3" immer "-www" darin hat und alles danach weg soll, dann ginge das auch mit der etwas sprechenderen Maske
%Artist%-%title%-www%dummy%
vielleicht muss man ein wenig rumexperimentieren und eine Maske bauen wie
%Artist% %Artist%-%title%-www%dummy%

Wichtig ist aber das "www" in der Maske, was den Nutzteil vom Müllteil trennt.
ANschließend müssten dann die Bereinigungsaktionen, die dann aber einfaches Suchen/Ersetzen von Bindestrich in Blank sein können.
(Zu deiner Ehrenrettung: im Prinzip machen deine Aktionen ja genau das - nur eben etwas versteckt ... vielleicht ist der etwas sprechendere Ansatz zu Anfang leichter)


#6

Da hast du schon Recht, aber ersten kann ich so ein bisschen mit meinen regexp skills angeben und zweitens schreibt er ja, dass das nur ein Beispiel war und die Dateien immer unterschiedlich aussehen. Da hilft eben eine starre Maske nicht, bzw. man müßte sie jedesmal anpassen.

Und die Aktion hab ich mir eben genau für solche Fälle bebastelt, Dateien mit schlechten oder gar keinen Tags, bei denen die Info nur im Dateinamen zu erraten ist


#7

Wer ganze Alben sammelt, sollte FreeDB befragen. Das macht weniger Arbeit und geht zuverlässiger.