# Datei Name bearbeiten

**URL:** https://community.mp3tag.de/t/datei-name-bearbeiten/11596
**Category:** Allgemein
**Created:** [February 15, 2011, 3:58pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596 "2011-02-15T15:58:23Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![kostik6488](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/919ad9/32.png) [@kostik6488](https://community.mp3tag.de/u/kostik6488)
#### Post date: [February 15, 2011, 3:58pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/1 "2011-02-15T15:58:23Z")

</div>

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 !

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [February 15, 2011, 4:33pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/2 "2011-02-15T16:33:32Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![kostik6488](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/919ad9/32.png) [@kostik6488](https://community.mp3tag.de/u/kostik6488)
#### Post date: [February 15, 2011, 4:48pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/3 "2011-02-15T16:48:20Z")

</div>

Suoer danke werde mal gleich ausprobieren !  
mfg kostik

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [February 15, 2011, 7:29pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/4 "2011-02-15T19:29:42Z")

</div>

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)

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 16, 2011, 5:09am UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/5 "2011-02-16T05:09:18Z")

</div>

> [@pone](#):
>
> Hab den Formatstring ...

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)

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [February 16, 2011, 10:20am UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/6 "2011-02-16T10:20:51Z")

</div>

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

---

<div class="post-metadata">

### Author: ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)
#### Post date: [February 21, 2011, 7:23pm UTC](https://community.mp3tag.de/t/datei-name-bearbeiten/11596/7 "2011-02-21T19:23:42Z")

</div>

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