# Wie Verzeichnisse (viele) umbenennen mit MP3TAG basierend auf TAGs aus enthaltenen Audiodateien?

**URL:** <https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340>\
**Category:** Allgemein\
**Created:** [October 9, 2023, 2:56pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340 "2023-10-09T14:56:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 9, 2023, 2:56pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/1 "2023-10-09T14:56:13Z")

</div>

Hallo,

ich speichere meine Musik nach folgender Struktur:

Interpret\Erscheinungsjahr - Albumtitel

Nun möchte ich das Verzeichnis "Erscheinungsjahr - Albumtitel" ergänzen durch [Bits per Sample-Frequenz], basierend auf einem beliebigen FLAC-File aus dem entsprechenden Verzeichnis. Die Abtastfrequenz wird ja standardmäßig in der entsprechenden Spalte von MP3TAG angezeigt und die Bits per Sample bekommt man leicht mit einer neuen Spalte hin, die %\_bitspersample% anzeigt.

Falls ja, wie genau ist das umsetzbar mit MP3TAG?

Vielen Dank.

P.S.: Für Musikliebhaber wie mich ist MP3TAG ein unverzichtbares Tool, um den Überblick über legal gekaufte Musik zu behalten, die man nicht mehr von CD, sondern eher einem NAS abspielt. Glücklicherweise beschränkt sich MP3TAG nicht nur auf MP3-Files, sondern kann auch (sehr gute) mit FLAC umgehen.

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [October 9, 2023, 3:30pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/2 "2023-10-09T15:30:32Z")

</div>

Zum Einrichten und Testen könntest Du es mit dem Konverter Tag -\> Tag versuchen.

Die nötigen Inhalte sähen in etwa so aus:  
Feld: `_DIRECTORY`  
Format String:  
`%YEAR% - %ALBUM% - '['%_bitspersample%']'`

Ich weiss nicht genau, aus welchem Tag Du das Erscheinungsjahr nimmst. Du müsstest also die Tagnamen entsprechend anpassen.

**Bitte beachte:** Solltest Du unterschiedliche Bits per Sample-Frequenz im gleichen Verzeichnis gespeichert haben, gibt das mit hoher Wahrscheinlichkeit ein Durcheinander und Deine Alben werden auseinander gerissen.

Also unbedingt zuerst ein Backup Deiner Stücke machen und gut testen.

Wenn das dann genau wie gewünscht funktioniert, können wir daraus einfach eine Aktion machen.

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 9, 2023, 3:42pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/3 "2023-10-09T15:42:50Z")

</div>

Vielen Dank, war auch gerade am Experimentieren mit Tag -\> Tag Konverter (ALT-5).  
Da ich meine bisherigen Verzeichnisnamen übernehmen möchte, werde ich es zunächst mal versuchen mit:

Feld: `_DIRECTORY`  
Format String:  
`_%directory% '['%_bitspersample%']'`

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [October 9, 2023, 3:45pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/4 "2023-10-09T15:45:55Z")

</div>

Kannst Du gerne so machen. Probiere es bitte möglichst auch mit unterschiedlichen `%_bitspersample%` im gleichen Verzeichnis aus. Nur um sicher zu gehen...

Lass uns bitte wissen, wie es für Dich am Schluss gepasst hat. Davon profitieren andere dann auch wieder.

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 9, 2023, 3:52pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/5 "2023-10-09T15:52:27Z")

</div>

Das mache ich sehr gerne, es funktioniert aber leider doch nicht.

Wie kann ich denn nur das Jahr nutzen, wenn das TAG "year" wie folgt aussieht 2022-07-21 und dem Veröffentlichungsdatum entspricht, also quasi so wie in Deinem Beispiel aber anstelle von %year% nur die ersten 4 Zeichen (von links gesehen)?

---

<div class="post-metadata">

**Author:** ![Casual\_Tea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/casual_tea/32/18886_2.png) [@Casual\_Tea](https://community.mp3tag.de/u/Casual_Tea)\
**Post date:** [October 9, 2023, 3:58pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/6 "2023-10-09T15:58:00Z")

</div>

Ich hab eine ähnliche, wenn auch etwas komplexere Aktion in Benutzung.  
Allerdings schreibt die die Informationen in den Album Tag selber statt in den Ordnernamen (was ich generell nicht empfehlen würde).  
Also solltest du für deinen usecase %album% durch %\_directory% und / durch - (oder ein anderes Zeichen deiner Wahl) ersetzen.

Meine Aktion prüft erst via regex, ob der albumname bereits [bitspersamle/KHz/channels] enthält, damit bei aufeinanderfolgenden Ausführungen nicht mehrfach die selbe Information angehängt wird.

Da mich die Information nur interessiert, wenn die Flac nicht 16bit 44.1KHz sind, hängt er bei mir die Information nur an, wenn bitpersample \> 16 oder KHz \> 44.1 ist. Dann hängt es noch, falls die Datei mehr als 2 Channels hat, die Channelzahl dran.

Das kann aber, wie @LyricsLover bereits angemerkt hat, dazu führen, dass Alben mit gemischten Dateien auseinander gerissen werden.

Meine Aktion ist:  
Format Value  
Field: ALBUM

```auto
$regexp(%album%,(.*)(\s\'['\d{2}'['\/-']'\d{2,3}\.?\d?'['\/-']'?(\d\.\d)?\']'),$1)$if($eql($right(%_filename_ext%,4),flac),$if($or($grtr(%_bitspersample%,16),$grtr(%_samplerate%,44100)), '['%_bitspersample%/$cutRight(%_samplerate%,3)$trimRight('.'$right(%_samplerate%,3),'.0')$if($eql(%_mode%,3),/3.0,)$if($eql(%_mode%,4),/4.0,)$if($eql(%_mode%,5),/5.0,)$if($eql(%_mode%,6),/5.1,)']',),)

```

Beispiel Output ist dann z.B. `Rocksteady [24/88.2/5.1]` wenn die Quelle 24Bit 88.2KHz und 5.1 Kanäle hatte.  
Kannst ja gucken, ob ein Teil der Aktion für das, was du erreichen willst, nützlich ist. 🙂

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [October 9, 2023, 4:01pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/7 "2023-10-09T16:01:14Z")

</div>

> [@TSCH](#):
>
> Wie kann ich denn nur das Jahr nutzen, wenn das TAG "year" wie folgt aussieht 2022-07-21 und dem Veröffentlichungsdatum entspricht, also quasi so wie in Deinem Beispiel aber anstelle von %year% nur die ersten 4 Zeichen (von links gesehen)?

Sowas wie das?  
`$left(%year%,4)`

Was auch funktioniert und dabei alles ab dem ersten nicht-numerischen Zeichen abschneidet:  
(in Deinem Beispiel `-07-21`)  
`$num(%year%,1)`

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 9, 2023, 5:13pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/8 "2023-10-09T17:13:52Z")

</div>

@LyricsLover

Danke.  
Mit  
$num(%year%,1) - %album% '['%\_bitspersample%']'  
funktioniert es perfekt, wie gewünscht.

@Casual_Tea

Deinen Ansatz nur bei höherer Qualität als 16 Bit bzw. über 44.1kHz den Namen zu ändern und auch die 5.1 Option finde ich genial! Vielen Dank dafür.

Eigentlich bin ich hin- und hergerissen, zwischen den (bisher) sprechenden Verzeichnisnamen oder dem Ansatz die eigentlichen Audiofiles sauber zu taggen.  
Bisher vermisse ich noch ein Tool, mit dem ich meine Audiosammlung (verteilt auf verschiedene NAS-Laufwerke) in den Griff bekomme (z.B. doppelte oder qualitativ schlechtere Audiofiles löschen) und das auf ID-Tags basiert.  
Daher nutze ich bisher die üblichen Tools, um verzeichnisse anzuzeigen und einzelne Audiodateien abzuspielen.

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 11, 2023, 3:23pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/9 "2023-10-11T15:23:36Z")

</div>

@LyricsLover

Hiermit funktioniert es nun, wie gewünscht:

Feld: `_DIRECTORY`  
Format String:  
$num(%year%,1) - %album% '['%\_bitspersample%']'

Wie mache ich daraus nun eine Aktion?

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [October 11, 2023, 3:28pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/10 "2023-10-11T15:28:04Z")

</div>

Deutsches Mp3tag:

[Aktion](https://docs.mp3tag.de/actions/) vom Typ "Tag-Feld formatieren"  
Feld: `_DIRECTORY`  
Formatstring:  
`$num(%year%,1) - %album% '['%_bitspersample%']'`

Englisches Mp3tag:  
Action-Type "[Format Value](https://docs.mp3tag.de/actions/format/)"

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 11, 2023, 3:45pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/11 "2023-10-11T15:45:37Z")

</div>

Vielen Dank. Glaube das Prinzip nun verstanden zu haben.  
Actiongruppe mit o.g. Einstellungen angelegt, die ich nun bei Bedarf nutzen kann.

Klasse!

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [October 11, 2023, 3:49pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/12 "2023-10-11T15:49:41Z")

</div>

Die Actiongruppe ist eigentlich eine Sammlung von einzelnen Aktionen.

Die Aktion #1 kann Dir das Verzeichnis wie in Deinem Beispiel umbenennen.  
Weitere Aktionen in der gleichen Aktionsgruppe könnten dann andere Veränderungen vornehmen, wie z.B. die Schreibweise von Titeln anpassen, Dein YEAR standartkonform mit nur 4 Stellen anstelle des kompletten amerikanischen Datums abzufüllen und und und...

So können dann z.B. Aktionsgruppen für klassische Musik angelegt werden, solche für Pop-Musik und so weiter.

Melde Dich einfach wieder, wenn Du weitere Fragen hast.

PS:  
Du musst auch nicht extra 8 Jahre bis zur nächsten Frage warten. 😉 😇

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 27, 2023, 11:23am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/13 "2023-10-27T11:23:44Z")

</div>

@Casual_Tea

Wie müsste Deine Aktion eigentlich aussehen, um den aktuellen Inhalt des Tags (bei mir den Verzeichnisnamen) nur um die Info bitspersample \>16 und kHz \> 44.1 quasi als Suffix anzuhängen?  
Bin nämlich sehr zufrieden mit meinen bisherigen Verzeichnisnamen.

---

<div class="post-metadata">

**Author:** ![Casual\_Tea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/casual_tea/32/18886_2.png) [@Casual\_Tea](https://community.mp3tag.de/u/Casual_Tea)\
**Post date:** [October 27, 2023, 6:18pm UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/14 "2023-10-27T18:18:26Z")

</div>

> [@Casual\_Tea](#):
>
> `$regexp(%album%,(.*)(\s\'['\d{2}'['\/-']'\d{2,3}\.?\d?'['\/-']'?(\d\.\d)?\']'),$1)$if($eql($right(%_filename_ext%,4),flac),$if($or($grtr(%_bitspersample%,16),$grtr(%_samplerate%,44100)), '['%_bitspersample%/$cutRight(%_samplerate%,3)$trimRight('.'$right(%_samplerate%,3),'.0')`

Wie meinst du das? Willst du nur bitspersample und khz anhängen? Also den Ordner:

```auto
'Round Midnight

```

um ` [24-96]` zu `'Round Midnight [24-96]`ergänzen?

Falls ja dann geht das mit:

```auto
Aktion: Format Value
Field: _DIRECTORY
Format String:
$regexp(%_directory%,(.*)(\s\'['\d{2}'['\/-']'\d{2,3}\.?\d?'['\/-']'?(\d\.\d)?\']'),$1)$if($eql($right(%_filename_ext%,4),flac),$if($or($grtr(%_bitspersample%,16),$grtr(%_samplerate%,44100)), '['%_bitspersample%-$cutRight(%_samplerate%,3)$trimRight('.'$right(%_samplerate%,3),'.0')']',),)

```

Hab es aber nur kurz aus meiner Aktion zusammengehackt und angepasst. Ausgiebig getestet ist sie nicht.

> [@TSCH](#):
>
> die Info bitspersample \>16 und kHz \> 44.1

Oder willst du wortwörtlich

```auto
'Round Midnight >16 >44.1

```

erreichen?

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 28, 2023, 6:13am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/15 "2023-10-28T06:13:55Z")

</div>

Ersteres. Wenn mehr als 16 Bit bzw. 44.1kHz, dann an den bisherigen Verzeichnisnamen dranhängen als Suffix.  
Und eigentlich müsste pro Verzeichnis nur eine Datei geprüft werden, sonst macht er das ganze Spiel bei 10 FLACs in einem Verzeichnis 10x oder nicht?

Vielen Dank.

---

<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:** [October 28, 2023, 6:40am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/16 "2023-10-28T06:40:04Z")

</div>

> [@TSCH](#):
>
> Und eigentlich müsste pro Verzeichnis nur eine Datei geprüft werden, sonst macht er das ganze Spiel bei 10 FLACs in einem Verzeichnis 10x oder nicht?

Ja, schon - und der letzte in der Reihe gewinnt, wenn sich die Eigenschaften unterscheiden ...  
Ansonsten kannst du ja filtern mit  
%track% IS 1  
und dann nur die Eigenschaften dieser Datei nehmen.

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 28, 2023, 8:27am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/17 "2023-10-28T08:27:58Z")

</div>

@Ohrenkino und Casual\_Tea

Wie müsste die o.g. Prüfung nur von Track 1, d.h. %track% IS 1 in u.g. Format String eingefügt werden?

> Aktion: Format Value  
> Field: \_DIRECTORY  
> Format String:  
> $regexp(%\_directory%,(.\*)(\s'['\d{2}'['/-']'\d{2,3}.?\d?'['/-']'?(\d.\d)?']'),$1)$if($eql($right(%\_filename\_ext%,4),flac),$if($or($grtr(%\_bitspersample%,16),$grtr(%\_samplerate%,44100)), '['%\_bitspersample%-$cutRight(%\_samplerate%,3)$trimRight('.'$right(%\_samplerate%,3),'.0')']',),)

---

<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:** [October 28, 2023, 8:36am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/18 "2023-10-28T08:36:01Z")

</div>

> [@TSCH](#):
>
> Wie müsste die o.g. Prüfung nur von Track 1, d.h. %track% IS 1 in u.g. Format String eingefügt werden?

Warum wendest du keinen Filter an?

---

<div class="post-metadata">

**Author:** ![TSCH](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/t/76d3ee/32.png) [@TSCH](https://community.mp3tag.de/u/TSCH)\
**Post date:** [October 28, 2023, 8:47am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/19 "2023-10-28T08:47:26Z")

</div>

@ohrenkino

Danke, dass Du nochmal schreibst und ich glaube bei mir ist nun auch (endlich) der Groschen gefallen.  
Ich verstehe es so, dass ich die Anzeige filtere und nur jeweils den ersten Track eines Verzeichnisses anzeigen lasse und darauf dann die o.g. Funktion von Casual\_Tea "loslasse". Korrekt?

---

<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:** [October 28, 2023, 8:49am UTC](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340/20 "2023-10-28T08:49:06Z")

</div>

so hatte ich es gemeint.

[Next page](https://community.mp3tag.de/t/wie-verzeichnisse-viele-umbenennen-mit-mp3tag-basierend-auf-tags-aus-enthaltenen-audiodateien/62340.md?page=2)
