# Lücke vor und hinter eine Zahl setzen

**URL:** https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312
**Category:** Allgemein
**Created:** [April 10, 2012, 11:48pm UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312 "2012-04-10T23:48:29Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 10, 2012, 11:48pm UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/1 "2012-04-10T23:48:29Z")

</div>

Hallo zusammen,

ich bin gerade bei einem meiner letzten Rätsel angelangt, vielleicht kann mir hierbei nochmal jemand helfen:

Ich möchte gerne in %Albumartist% und %Artist% vor und hinter einer Zahl eine Lücke setzen, sofern dort keine Lücke vorhanden ist. Dies soll aber weder am Anfang noch am Ende des Ausdrucks und nur vor der jeweils ersten und hinter der jeweils letzten Ziffer eines Nummernblocks passieren.

(blödes) Beispiel:

2 In A Room And UB40Feat Waldgeist2000 -\> 2 In A Room And UB 40 Feat Waldgeist 2000

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [April 11, 2012, 5:22am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/2 "2012-04-11T05:22:10Z")

</div>

> [@papi](#):
>
> ... Ich möchte gerne in %Albumartist% und %Artist% vor und hinter einer Zahl eine Lücke setzen, sofern dort keine Lücke vorhanden ist. Dies soll aber weder am Anfang noch am Ende des Ausdrucks und nur vor der jeweils ersten und hinter der jeweils letzten Ziffer eines Nummernblocks passieren. (blödes) Beispiel:  
> 2 In A Room And UB40Feat Waldgeist2000 -\> 2 In A Room And UB 40 Feat Waldgeist 2000

**$regexp($regexp($regexp('2 In A Room And UB40Feat Waldgeist2000','\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)**

... oder ...

**$trim($regexp($regexp('2 In A Room And UB40Feat Waldgeist2000','\d+',' $0 '),'\s+',' '))**

von:  
"2 In A Room And UB40Feat Waldgeist2000"  
nach:  
"2 In A Room And UB 40 Feat Waldgeist 2000"

DD.20120411.0917.CEST

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 11, 2012, 5:47am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/3 "2012-04-11T05:47:04Z")

</div>

> [@DetlevD](#):
>
> **$regexp($regexp($regexp('2 In A Room And UB40Feat Waldgeist2000','\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)**
> 
> ... oder ...
> 
> **$trim($regexp($regexp('2 In A Room And UB40Feat Waldgeist2000','\d+',' $0 '),'\s+',' '))**
> 
> von:  
> "2 In A Room And UB40Feat Waldgeist2000"  
> nach:  
> "2 In A Room And UB 40 Feat Waldgeist 2000"
> 
> DD.20120411.0917.CEST

Super! Vielen Dank!!!

Ich habe es gleich in %\_FILENAME% und %\_DIRECTORY% mit eingebaut.  
Jetzt muss ich nur noch einmal klicken, dann... habe ich alles versaut 🙂 - nein, dann habe ich Ordnung im System, wenn ich nicht mal wieder irgendwelche Sonderfälle vergessen habe.

Danke nochmal!

Gruß  
Papi

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 11, 2012, 7:18am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/4 "2012-04-11T07:18:31Z")

</div>

> [@papi](#):
>
> Super! Vielen Dank!!!
> 
> Ich habe es gleich in %\_FILENAME% und %\_DIRECTORY% mit eingebaut.  
> Jetzt muss ich nur noch einmal klicken, dann... habe ich alles versaut 🙂 - nein, dann habe ich Ordnung im System, wenn ich nicht mal wieder irgendwelche Sonderfälle vergessen habe.
> 
> Danke nochmal!
> 
> Gruß  
> Papi

Und da bin ich auch schon wieder.

Es funktioniert wirklich prima. Jetzt würde ich abschließend gerne noch das \_PARENT\_DIRECTORY mit einbinden, aber es lässt sich definitiv nicht dazu bewegen, es dem \_DIRECTORY gleich zu tun. Woran kann das liegen?  
Ich habe auch schon "\_FOLDERPATH" und dergl. ausprobiert, aber ohne Erfolg.

$regexp($regexp($regexp(%\_PARENT\_DIRECTORY%,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)

Ich vermute einen Denkfehler von mir, stehe aber gerade auf meiner eigenen Leitung.

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [April 11, 2012, 7:54am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/5 "2012-04-11T07:54:18Z")

</div>

> [@papi](#):
>
> ... Es funktioniert wirklich prima. Jetzt würde ich abschließend gerne noch das \_PARENT\_DIRECTORY mit einbinden, aber es lässt sich definitiv nicht dazu bewegen, es dem \_DIRECTORY gleich zu tun. Woran kann das liegen? ...

Die technischen Informationsfelder in Mp3tag sind grundsätzlich nur lesbar.

Daneben bietet Mp3tag an die zwei Pseudo-Tag-Felder \_FILENAME und \_DIRECTORY, die man "beschreiben" kann, so dass eine Veränderung, außerhalb der Datei, im Dateisystem erzeugt wird.  
Damit kann man eine Datei oder einen kompletten Ordner umbenennen oder an einen anderen Ort verschieben.

Wenn man Änderungen am Dateipfad durchführen will, so sollte man die beabsichtigte Änderung zunächst virtuell in einem Hilfs-Tag-Feld vorbereiten, und wenn dort jede Pfadangabe korrekt eingetragen ist, dann kann man den Inhalt des Hilfs-Tag-Feldes dazu benutzen, den Dateipfad im Dateisystem wirklich zu manipulieren ("first virtual, then real").

Wenn du im Dateipfad mehrere Ordnernamen ändern willst, dann musst du den Dateipfad entsprechend zerlegen, die Teile bearbeiten und wieder zusammen bauen, oder den Dateipfad als Ganzes bearbeiten, und schließlich ein Pseudo-Tag-Feld \_FILENAME bzw. \_DIRECTORY mit dem neuen Dateipfad bzw. mit dem neuen Ordnerpfad "beschreiben".

Beachte, dass das Umbenennen eines Ordners auch ein Verschieben des Ordners bewirken kann mit allen darin befindlichen Dateien (bei \_DIRECTORY) oder nur mit den Musikdateien (bei \_FILENAME).

DD.20120411.1200.CEST

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 11, 2012, 11:14am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/6 "2012-04-11T11:14:35Z")

</div>

> [@DetlevD](#):
>
> ...  
> Beachte, dass das Umbenennen eines Ordners auch ein Verschieben des Ordners bewirken kann mit allen darin befindlichen Dateien (bei \_DIRECTORY) oder nur mit den Musikdateien (bei \_FILENAME).  
> ...

Nun ja, ich verwende diese Funktion schon ewig, indem ich im Rahmen einer grossen, kompakten Kombiänderung das Tag-Feld %\_FILENAME% mittels dem String "..\Verschobene Daten\%\_FOLDERPATH%\%\_FILENAME%" formatiere.

Das Thema hatten wir schonmal: Bereits existierende Dateien erzeugen einen Fehler und fallen dabei raus.  
Der verschobene Ordner wird dann der neue Ordner.  
(Ich bin der McGuyver mit dem Radiergummi und der Kaffeetasse auf der i-Taste) ![:rolleyes:](https://community.mp3tag.de/uploads/default/original/1X/3a79e8b0b7d169b30216785521d7c6f4f895c421.gif ":rolleyes:")

Aber lange Rede, kurzer Sinn - warum funktioniert es dann nicht auch bei "$regexp($regexp($regexp(% **\_PARENT\_DIRECTORY** %,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)"?

Bei "$regexp($regexp($regexp(% **\_DIRECTORY** %,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)" geht es einwandfrei.

Mal meine Struktur (wie sie vermutlich die Meisten haben werden):

Alben:

M:\U\10CC\1989 - The Best Of 10 CC\01 - 10 CC And Godley And Creme - An Englishman In New York.mp3

Singles liegen stattdessen eine Ebene höher, ohne Tracknummer:

M:\U\10CC\10 CC And Godley And Creme - An Englishman In New York.mp3

Mit "Deinem" String wird "10cc" im Directory zu "10 cc", im Parent-Directory aber nicht.  
Existiert aber im Parent eine Single, dann geht es einwandfrei, das ist aber natürlich nicht immer der Fall. :-/

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [April 12, 2012, 3:38am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/7 "2012-04-12T03:38:20Z")

</div>

> [@papi](#):
>
> ...warum funktioniert es dann nicht auch bei "$regexp($regexp($regexp(% **\_PARENT\_DIRECTORY** %,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)"? ...

Diese Frage wurde schon beantwortet. Die technischen Informationsfelder in Mp3tag sind grundsätzlich nur lesbar. "%\_PARENT\_DIRECTORY%" ist ein solches nur lesbares Pseudo-Tag-Feld.  
Man kann die Pseudo-Tag-Felder \_DIRECTORY bzw. \_FILENAME beschreiben, um den Ordnerpfad bzw. Dateipfad zu manipulieren.

> [@papi](#):
>
> ... meine Struktur ... Alben:  
> M:\U\10CC\1989 - The Best Of 10 CC\01 - 10 CC And Godley And Creme - An Englishman In New York.mp3  
> Singles liegen stattdessen eine Ebene höher, ohne Tracknummer:  
> M:\U\10CC\10 CC And Godley And Creme - An Englishman In New York.mp3 ...  
> Existiert aber im Parent eine Single, dann geht es einwandfrei ...

In diesem Fall haben die Single und die Albumtracks unterschiedliche Ordnerpfade.  
Der Ordner der Single ist der Elternordner des Ordners der Albumtracks.

DD.20120412.0735.CEST

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 12, 2012, 5:19am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/8 "2012-04-12T05:19:06Z")

</div>

> [@DetlevD](#):
>
> Diese Frage wurde schon beantwortet. Die technischen Informationsfelder in Mp3tag sind grundsätzlich nur lesbar. "%\_PARENT\_DIRECTORY%" ist ein solches nur lesbares Pseudo-Tag-Feld.  
> Man kann die Pseudo-Tag-Felder \_DIRECTORY bzw. \_FILENAME beschreiben, um den Ordnerpfad bzw. Dateipfad zu manipulieren.
> 
> In diesem Fall haben die Single und die Albumtracks unterschiedliche Ordnerpfade.  
> Der Ordner der Single ist der Elternordner des Ordners der Albumtracks.
> 
> DD.20120412.0735.CEST

Jetzt habe auch ICH es verstanden. 🙂  
Dann werde ich das wohl extern lösen müssen.

Weiß jemand ein gutes Tool, neben dem Mehrfachumbenenntool vom TotalCommander, um Verzeichnisnamen zu ändern oder muss ich da selber was schreiben?

---

<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: [April 12, 2012, 5:30am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/9 "2012-04-12T05:30:27Z")

</div>

> [@papi](#):
>
> Jetzt habe auch ICH es verstanden. 🙂  
> Dann werde ich das wohl extern lösen müssen.
> 
> Weiß jemand ein gutes Tool, neben dem Mehrfachumbenenntool vom TotalCommander, um Verzeichnisnamen zu ändern oder muss ich da selber was schreiben?

Das geht auch mit Mp3tag, wenn du einen absoluten pfad für die Tag-Feld-Formatierei angibst, also  
M:\U\%artist%

Denn der Künstler ist doch immer auf derselben Verschachtelungsstufe, oder?

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 12, 2012, 5:33am UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/10 "2012-04-12T05:33:37Z")

</div>

> [@ohrenkino](#):
>
> Das geht auch mit Mp3tag, wenn du einen absoluten pfad für die Tag-Feld-Formatierei angibst, also  
> M:\U\%artist%
> 
> Denn der Künstler ist doch immer auf derselben Verschachtelungsstufe, oder?

Ja, das ist richtig. Aber ich weiß nicht, wie Du das meinst, bzw. wie ich das zur Anwendung bringen soll.

---

<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: [April 12, 2012, 4:08pm UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/11 "2012-04-12T16:08:53Z")

</div>

> [@papi](#):
>
> Ja, das ist richtig. Aber ich weiß nicht, wie Du das meinst, bzw. wie ich das zur Anwendung bringen soll.

ein Pfadangabe mit dem aktuellen Verzeichnis oder dem Arbeitsverzeichnis ist eine relative Pfadangabe und beschreibt sozusagen den Pfad "von hinten".  
Mit einer Absoluten Pfadangabe, die immer mit dem Laufwerksbuchstaben beginnt, beschreibt man den Pfad von vorne.  
in deinem Beispiel mit der Single oder nicht gab es "von hinten" mal eine Ebene mehr oder weniger.  
Wenn du aber für Tag-Feld-Formatieren \_DIRECTORY so einen PFad angibst wie  
M:\U\%artist%  
beschreibst du immer dieselbe Menge Hierarchiestufen. und damit müsste der neue Verzeichnisname immer passen.

---

<div class="post-metadata">

### Author: ![papi](https://community.mp3tag.de/user_avatar/community.mp3tag.de/papi/32/8625_2.png) [@papi](https://community.mp3tag.de/u/papi)
#### Post date: [April 12, 2012, 4:54pm UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/12 "2012-04-12T16:54:16Z")

</div>

> [@ohrenkino](#):
>
> ein Pfadangabe mit dem aktuellen Verzeichnis oder dem Arbeitsverzeichnis ist eine relative Pfadangabe und beschreibt sozusagen den Pfad "von hinten".  
> Mit einer Absoluten Pfadangabe, die immer mit dem Laufwerksbuchstaben beginnt, beschreibt man den Pfad von vorne.  
> in deinem Beispiel mit der Single oder nicht gab es "von hinten" mal eine Ebene mehr oder weniger.  
> Wenn du aber für Tag-Feld-Formatieren \_DIRECTORY so einen PFad angibst wie  
> M:\U\%artist%  
> beschreibst du immer dieselbe Menge Hierarchiestufen. und damit müsste der neue Verzeichnisname immer passen.

Ach so ja, das mache ich bereits beim Einsortieren so.  
Der Nachteil ist aber, dass die leeren bzw. alten Ordner dabei liegen bleiben, das kann man nur mit neuen Beständen machen oder man muss komplett abräumen und die alte Hirarchie danach löschen und ersetzen.

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [April 12, 2012, 6:09pm UTC](https://community.mp3tag.de/t/lucke-vor-und-hinter-eine-zahl-setzen/13312/13 "2012-04-12T18:09:02Z")

</div>

> [@papi](#):
>
> Ach so ja, das mache ich bereits beim Einsortieren so. Der Nachteil ist aber, dass die leeren bzw. alten Ordner dabei liegen bleiben, das kann man nur mit neuen Beständen machen oder man muss komplett abräumen und die alte Hirarchie danach löschen und ersetzen.

Probiere es mit \_DIRECTORY anstelle von \_FILENAME, dann sollte nichts "liegen bleiben".

DD.20120412.2205.CEST
