# IF-THEN-ELSE in Organise-String

**URL:** <https://community.mp3tag.de/t/if-then-else-in-organise-string/17470>\
**Category:** Allgemein\
**Created:** [December 17, 2015, 6:58pm UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470 "2015-12-17T18:58:10Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lesmo16](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/e495f1/32.png) [@Lesmo16](https://community.mp3tag.de/u/Lesmo16)\
**Post date:** [December 17, 2015, 6:58pm UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/1 "2015-12-17T18:58:10Z")

</div>

Für das Organisen habe ich mir den folgenden String gebastelt:

```
D:\Audio\Organized\$if($eql(%albumartist%,Various Artists),\--\VA\\%album% ['['%year%']'],$if($eql(%albumartist%,Soundtrack),\--\ST\\%album% ['['%year%']'],\$left(%albumartist%,1)\\%albumartist%\['['%year%']' ]%album%),)\[$num(%disc%,1)]%track%. %artist% - %title%

```

Leider funktioniert das nicht - es scheint ein Fehler in IF-THEN-ELSE zu sein. Ich habe den String in TagScanner 6 beta probiert. Da funktioniert er einwandfrei (mit $equal anstatt $eql). Ich würde aus verschiedenen Gründen lieber mp3tag benutzen. Kann mir jemand von euch hhelfen?

---

<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:** [December 17, 2015, 7:20pm UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/2 "2015-12-17T19:20:19Z")

</div>

> [@Lesmo16](#):
>
> ... habe ich mir den folgenden String gebastelt ... Leider funktioniert das nicht - es scheint ein Fehler in IF-THEN-ELSE zu sein. ...

**'D:\Audio\Organized'$if($eql(%ALBUMARTIST%,'Various Artists'),'\--\VA\'%ALBUM%[' ['%YEAR%']'],$if($eql(%ALBUMARTIST%,'Soundtrack'),'\--\ST\'%ALBUM%[' ['%YEAR%']'],'\'$left($if2(%ALBUMARTIST%,%ARTIST%),1)'\'$if2(%ALBUMARTIST%,%ARTIST%)'\'['['%YEAR%'] ']%ALBUM%))'\'[$num(%DISC%,1)]%TRACK%'. '%ARTIST%' - '%TITLE%**

DD.20151217.2120.CET, DD.20151218.1228.CET

---

<div class="post-metadata">

**Author:** ![Lesmo16](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/e495f1/32.png) [@Lesmo16](https://community.mp3tag.de/u/Lesmo16)\
**Post date:** [December 17, 2015, 8:13pm UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/3 "2015-12-17T20:13:23Z")

</div>

Vielen Dank für die schnelle Antwort DetlevD

So gibt es schon mal keinen Fehler mehr, aber das Folgende wird nicht berücksichtigt:

$left(%ALBUMARTIST%,1)\%ALBUMARTIST%\

Vielleicht findedt Du dafür noch eine Lösung.

---

<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:** [December 18, 2015, 5:15am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/4 "2015-12-18T05:15:45Z")

</div>

> [@Lesmo16](#):
>
> ... So gibt es schon mal keinen Fehler mehr, aber das Folgende wird nicht berücksichtigt: ...

Für die Logik des Vorgangs und des Formatstrings bist du verantwortlich, ...  
vielleicht kannst du die Funktion in Worten beschreiben, ...  
und mit Beispielen illustrieren, ...  
damit man nachvollziehen kann, was ein Formatstring tun soll.

DD.20151218.0715.CET

---

<div class="post-metadata">

**Author:** ![Lesmo16](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/e495f1/32.png) [@Lesmo16](https://community.mp3tag.de/u/Lesmo16)\
**Post date:** [December 18, 2015, 8:09am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/5 "2015-12-18T08:09:46Z")

</div>

> [@DetlevD](#):
>
> vielleicht kannst du die Funktion in Worten beschreiben, ...  
> und mit Beispielen illustrieren, ...  
> damit man nachvollziehen kann, was ein Formatstring tun soll.

OK, ich versuch's mal:

```
Zielordner ist D:\Audio\Organized\
IF ALBUMARTIST = Various Artists
THEN Albumtyp ist Sampler
    gehe in den existierenden Ordner VA
    erstelle Ordner mit ALBUM vor [YEAR]
ELSE
    IF ALBUMARTIST = Soundtrack
    THEN Albumtyp ist Soundtrack
        gehe in den existierenden Ordner ST
        erstelle Ordner mit ALBUM vor [YEAR]
    ELSE Albumtyp ist normales Album
        erstelle Ordner mit Initial von ALBUMARTIST (z.B. K für Kettcar)
        gehe in diesen neuen Ordner
        erstelle Ordner mit [YEAR] vor ALBUM
    END IF
END IF
gehe in den gemäß Regel erstellten neuen Ordner
verschiebe alle Dateien
Syntax: einstellige DISC (falls vorhanden) TRACK. ARTIST - TITLE

```

---

<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:** [December 18, 2015, 8:47am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/6 "2015-12-18T08:47:12Z")

</div>

> [@Lesmo16](#):
>
> OK, ich versuch's mal ... verschiebe alle Dateien ...

Sorry, ich habe keine Abweichung erkannt zwischen deiner Ablaufbeschreibung und dem angebotenen Mp3tag Formatstring.  
Ist das Tagfeld ALBUMARTIST in jedem Fall gefüllt?

DD.20151218.1054.CET

---

<div class="post-metadata">

**Author:** ![Lesmo16](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/e495f1/32.png) [@Lesmo16](https://community.mp3tag.de/u/Lesmo16)\
**Post date:** [December 18, 2015, 9:03am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/7 "2015-12-18T09:03:58Z")

</div>

> [@DetlevD](#):
>
> Ist das Tagfeld ALBUMARTIST in jedem Fall gefüllt?

![:w00t:](https://community.mp3tag.de/uploads/default/original/1X/cb01eca72fe9339ff6f3ec9f1e3c5fe002be0f0a.gif ":w00t:") Detlev, lass dir die Füße küssen!

NEIN, das Feld ist nicht (immer) gefüllt. Ich lösche es ggf. sogar, wenn es nur _einen_ ARTIST gibt.

Von foobar und TagScanner kenne ich es so, dass die automatisch den ARTIST nehmen, wenn ALBUMARTIST leer ist. Das ist meines Erachtens auch absolut sinnvoll und wäre auch für mp3tag wünschenswert.

Vielen Dank, dass Du mich auf den richtigen Weg geführt hast!

Ich werde meine endgültige Version später in diesem Thread posten.

---

<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:** [December 18, 2015, 9:10am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/8 "2015-12-18T09:10:51Z")

</div>

> [@Lesmo16](#):
>
> ... Von foobar und TagScanner kenne ich es so, dass die automatisch den ARTIST nehmen, wenn ALBUMARTIST leer ist. Das ist meines Erachtens auch absolut sinnvoll und wäre auch für mp3tag wünschenswert. ...

Ersetze im Skript wo es sinnvoll ist ...  
%ALBUMARTIST%  
... mit ...  
$if2(%ALBUMARTIST%,%ARTIST%)

DD.20151218.1110.CET

---

<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:** [December 18, 2015, 9:41am UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/9 "2015-12-18T09:41:18Z")

</div>

> [@Lesmo16](#):
>
> ...die automatisch den ARTIST nehmen, wenn ALBUMARTIST leer ist. Das ist meines Erachtens auch absolut sinnvoll und wäre auch für mp3tag wünschenswert...

Das ist es nicht. Jedenfalls nicht, wenn es um das Füllen von Feldern geht.  
Es mag eine sinnvolle Funktion sein, auch Treffer zu zeigen, wenn die gesuchten Daten irgendwo in den Metadaten stehen - aber diese Funktion gibt es schon: per Filter.  
Wie sollte sich der Automatismus denn bei COMPOSER oder INVOLVEDPEOPLE verhalten?

Für alle anderen, weiteren Funktionsaufrufe wäre ein wie auch immer gearteter Automatismus nur angetan, Chaos in eine Sammlung zu bringen, speziell wenn es um das Anlegen von neuen Verzeichnissen oder das Verschieben von Dateien geht.  
Von daher geht es nicht ohne Gehirnschmalz.

---

<div class="post-metadata">

**Author:** ![Lesmo16](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/e495f1/32.png) [@Lesmo16](https://community.mp3tag.de/u/Lesmo16)\
**Post date:** [December 19, 2015, 4:06pm UTC](https://community.mp3tag.de/t/if-then-else-in-organise-string/17470/10 "2015-12-19T16:06:01Z")

</div>

> [@ohrenkino](#):
>
> Das ist es nicht. Jedenfalls nicht, wenn es um das Füllen von Feldern geht.

Da bin ich voll bei Dir!

> [@ohrenkino](#):
>
> Von daher geht es nicht ohne Gehirnschmalz.

Ja, lecker Bauernbrot mit Gehirnschmalz. 😉

Grüße aus und nach Norddeutschland!
