# Cover zuordnen: frage zu unterschiedlichen Pfaden / Strukturen

**URL:** https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416
**Category:** Allgemein
**Created:** [January 20, 2014, 6:31pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416 "2014-01-20T18:31:06Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![woelfchen](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/d9b06d/32.png) [@woelfchen](https://community.mp3tag.de/u/woelfchen)
#### Post date: [January 20, 2014, 6:31pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/1 "2014-01-20T18:31:06Z")

</div>

Hallo zusammen,

ich hab' ein kleines Problem beim zuordnen von Images als (Front-)Cover, hoffe, da kann mir jemand weiterhelfen...

Vorweg, meine Struktur sieht zu 95% folgendermaßen aus (ich hoffe, verständlich notiert):  
Artist\Album[cdN]\audiofiles.\*  
cdN --\> optional, enthält die cd-nummer (z. b. cd01, cd02, usw. usf.)  
die Images für's cover haben folgenden aufbau: artist - album -cover.[jpg|png]

Die Cover ordne ich per Aktion mit folgendem String / Code zu: ..\*%album%\* -cover\*

Das klappt i. d. R. auch gut, habe allerdings Probleme, wenn im Pfad nun doch noch ein Folder namens "cdN" vorhanden sein sollte, denn dann passt mein relativer Pfad nicht mehr. - Mach ich den wieder so, dass dafür passt (ein weiteres ".." rein), dann passt wiederum nicht mehr bei den Files ohne "cdN". Ich dachte mir, dass man da evtl. eine Abfrage nimmt, a la "if(%\_folderpath% has|contains|whatever...,...,...), scheitere aber daran.

1. Ist der Ansatz überhaupt korrekt, bzw. möglich, dass ich innerhalb der Aktion ein 'if...' nutze?
2. wenn ich auf "cdN" abfrage, dann muss das ja irgendwie mit einem regulären Ausdruck passen, also in etwa "cd+[0-9]", oder.
3. ich hätte jetzt für die erste Alternative in der if-Abfrage "....\*%album%\* -cover\*", für die zweite "..\*%album%\* -cover\*" genutzt

kann mir vllt. jemand auf die Sprünge helfen? - Wär' toll...

woelfchen

---

<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: [January 20, 2014, 6:51pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/2 "2014-01-20T18:51:12Z")

</div>

> [@woelfchen](#):
>
> ... wenn ich auf "cdN" abfrage, dann muss das ja irgendwie mit einem regulären Ausdruck passen, also in etwa "cd+[0-9]", oder. ...

? So etwa wie in diesem Thread ...  
[/t/13392/1](https://community.mp3tag.de/t/13392/1)

... oder so?

**$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\cover\cover.jpg'**

DD.20140120.2056.CET

Achtung: Das sind Beispiele zum Weiterdenken!

DD.20140120.2116.CET

---

<div class="post-metadata">

### Author: ![woelfchen](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/d9b06d/32.png) [@woelfchen](https://community.mp3tag.de/u/woelfchen)
#### Post date: [January 20, 2014, 6:51pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/3 "2014-01-20T18:51:13Z")

</div>

> [@woelfchen](#):
>
> 1. wenn ich auf "cdN" abfrage, dann muss das ja irgendwie mit einem regulären Ausdruck passen, also in etwa "cd+[0-9]", oder.

habe mal testhalber in ein temporäres Feld $strchr(%\_directory%,cd+[0-9]) per Tag-Feld formatieren setzen lassen, da wird mir schon korrekt '0' bzw. '1' ausgegeben. Allerdings zeigt if($strchr(%\_directory%,cd+[0-9])\>0,2hoch,1hoch) nur sich selbst, die function strchr ausgewertet an (if(0\>0,2hoch,1hoch), bzw. if(1\>0,2hoch,1hoch)).

woelfchen

---

<div class="post-metadata">

### Author: ![woelfchen](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/d9b06d/32.png) [@woelfchen](https://community.mp3tag.de/u/woelfchen)
#### Post date: [January 20, 2014, 7:07pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/4 "2014-01-20T19:07:38Z")

</div>

> [@DetlevD](#):
>
> ? So etwa wie in diesem Thread ...  
> [/t/13392/1](https://community.mp3tag.de/t/13392/1)
> 
> ... oder so?
> 
> **$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\cover\cover.jpg'**
> 
> DD.20140120.2056.CET

mit dem Konstrukt aus dem verlinkten Thread komm' ich nicht weiter, und dein zweiter vorschlag liefert folgendes:  
Album-Cover aus Datei importieren "$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\*%album%\* -cover\*'" (Front Cover): Auf die Datei F:\work\temp\artist\album.\*%album%\* -cover\* kann nicht zugegriffen werden.  
Album-Cover aus Datei importieren "$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\*%album%\* -cover\*'" (Front Cover): Auf die Datei F:\work\temp\artist\album\cd01..\*%album%\* -cover\* kann nicht zugegriffen werden.  
Album-Cover aus Datei importieren "$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\*%album%\* -cover\*'" (Front Cover): Auf die Datei F:\work\temp\artist\album\cd02..\*%album%\* -cover\* kann nicht zugegriffen werden.

es sind aber bereits unterschiede zu erkennen 😉

---

<div class="post-metadata">

### Author: ![woelfchen](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/d9b06d/32.png) [@woelfchen](https://community.mp3tag.de/u/woelfchen)
#### Post date: [January 21, 2014, 2:19am UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/5 "2014-01-21T02:19:23Z")

</div>

> [@DetlevD](#):
>
> Achtung: Das sind Beispiele zum Weiterdenken!
> 
> DD.20140120.2116.CET

bin ja durchaus gewillt, dies zu tun und auch dabei, aber sobald ich eines dieser Konstrukte nutze, die im Grunde genommen schon korrekt unterscheiden (entweder "$if2($eql($left($lower(%\_directory%),2),'cd'),'..')'..\*%album%\* -cover\*'" oder "if2($strchr(%\_directory%,cd+[0-9]),'..')'..\*%album%\* -cover\*'" klappt ja die Ausführung von "..\*%album%\* -cover\*" nicht mehr, wie wenn es alleine steht. Und dort ist mein Problem...

woelfchen

---

<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: [January 21, 2014, 7:58am UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/6 "2014-01-21T07:58:50Z")

</div>

> [@woelfchen](#):
>
> ... klappt ja die Ausführung von "..\*%album%\* -cover\*" nicht ...

Der Formatstring enthält mehrmals Sternchen \* Zeichen. Wofür sollen die gut sein?  
Das Sternchen gehört zu den nicht erlaubten Zeichen in Dateipfadnamen.  
Siehe auch dort ...  
[[F] $validate() broken?](https://community.mp3tag.de/t/8311/12)

In der Aktion "Album-Cover aus Datei importieren" muss der "Formatstring für Cover-Dateiname" eindeutig zu einer existierenden Datei führen.

DD.20140121.0959.CET

---

<div class="post-metadata">

### Author: ![dano](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dano/32/6_2.png) [@dano](https://community.mp3tag.de/u/dano)
#### Post date: [January 21, 2014, 5:52pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/7 "2014-01-21T17:52:24Z")

</div>

Da sind überall zu viele Apostrophe drinn am Ende bzw. falsch platziert:  
Sonst wird %album% nicht ausgewertet.

z.B.  
$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')'\*%album%\* -cover\*'  
muss so ein:  
$if($eql($left($lower(%\_directory%),2),'cd'),'..','.')\*%album%\* -cover\*

oder die Variante: Wenn 'cd' vorhanden dann 2x '..' - sonst 1x

$if($eql($left($lower(%\_directory%),2),'cd'),'..',)'..\*'%album%\* -cover\*

- 

Die \* sind Wildcards wie bei Dos

---

<div class="post-metadata">

### Author: ![woelfchen](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/d9b06d/32.png) [@woelfchen](https://community.mp3tag.de/u/woelfchen)
#### Post date: [January 21, 2014, 7:00pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/8 "2014-01-21T19:00:39Z")

</div>

> [@DetlevD](#):
>
> Der Formatstring enthält mehrmals Sternchen \* Zeichen. Wofür sollen die gut sein?

wie dano schreibt, sind wildcards. Und mich wunderte eben, warum der String "..\*%album%\* -cover\*" einzeln funktionierte, aber nicht in der unterscheidung. - Hatte aber auch nicht gesehen, dass die apostrophe falsch waren. - Wenn ich das gesehen hätte, wäre deine vorgeschlagene Lösung ja auch korrekt gewesen.

> [@dano](#):
>
> Da sind überall zu viele Apostrophe drinn am Ende bzw. falsch platziert:
> 
> [...]  
> oder die Variante: Wenn 'cd' vorhanden dann 2x '..' - sonst 1x
> 
> $if($eql($left($lower(%\_directory%),2),'cd'),'..',)'..\*'%album%\* -cover\*

@dano: der string tut's

@DetlevD & dano: dank' euch beiden!

kleiner Hinweis an dieser Stelle zum Einsatz von diesen Wildcards:  
wenn zwei jpg-Cover vorhanden sind ("artist - albumtitel -cover.jpg" & "artist - albumtitel -cover II.jpg"), dann wird das zweite jpg-File genommen  
wenn zwei Cover vorhanden sind ("artist - albumtitel -cover.jpg" & "artist - albumtitel -cover.png"), dann wird das jpg-File genommen

woelfchen

---

<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: [January 21, 2014, 7:16pm UTC](https://community.mp3tag.de/t/cover-zuordnen-frage-zu-unterschiedlichen-pfaden-strukturen/15416/9 "2014-01-21T19:16:51Z")

</div>

> [@dano](#):
>
> Die \* sind Wildcards wie bei Dos

Sorry, das hatte ich doch schon wieder vergessen. ![-_-](https://community.mp3tag.de/uploads/default/original/1X/9609ce7fc3ed85975f0c7dbe409569ca532226d3.gif "-\_-")

DD.20140121.2116.CET
