# Export nach CSV oder TXT

**URL:** https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027
**Category:** Allgemein
**Created:** [May 19, 2011, 11:06am UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027 "2011-05-19T11:06:16Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![mctag](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/cc9497/32.png) [@mctag](https://community.mp3tag.de/u/mctag)
#### Post date: [May 19, 2011, 11:06am UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/1 "2011-05-19T11:06:16Z")

</div>

Hallo!

**Vorwort**  
Ein wenig flau ist mir, weil ich das Gefühl habe, meine Frage wurde in Variation schon  
gefühlte 1.000 mal hier gestellt; aber liebe Helfenden, ich habe die SuFu wirklich  
bemüht und komme nicht weiter.

Ich benötige Hilfe bzw. einen Ansatz um folgendes zu erreichen:

Aus  
C:\Musik\Rock, Blues\%Albumartist%\%Year% **.** %Album%...

Möchte ich:

- für jedes Album, wo in %comment% der Eintrag "CD-Album" steht

diese Zeile in einer TXT stehen haben (zwecks Weiterverarbeitung in Excel):

4 **Buchstaben** von links aus gesehen von %Albumartist% dann Trennung "z.B. #"und dann  
%year%

Also aus:

"C:\Musik\Rock, Blues\AC-DC\1975.High Voltage" wird dann:

ACDC#1975

(! ==\> 4 BUCHstaben von links aus!)

Und aus:  
"C:\Musik\Rock, Blues\Rolling Stones, The\1971.Sticky Fingers" soll werden:

ROLL#1971

Aber nur dann, wenn das jeweilige Album mit "CD-Album" im Feld %comment% getaggt ist.  
Falls nicht, passiert nichts und der nächste Eintrag wird ausgelesen.

In welche Richtung muß ich denken?

Gruß  
McTag

---

<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: [May 19, 2011, 11:24am UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/2 "2011-05-19T11:24:56Z")

</div>

> [@McTag](#):
>
> ... In welche Richtung muß ich denken? ...

Na, in die Richtung der Lösung selbstverständlich, also wie du die hier im Forum gesammelten Erfahrungen und Beispiele so kombinieren kannst, dass sie das gewünsche Ergebnis bringen.  
Wie du schon festgestellt hast, es ist alles schon gesagt worden - aber wo steht es geschrieben?

> [@McTag](#):
>
> ... - für jedes Album, wo in %comment% der Eintrag "CD-Album" steht ...

Um erst einmal eine Übersicht zu erhalten, kann man zunächst diesen Filterausdruck anwenden:

**COMMENT HAS "CD-Album"**

Für die anderen Teilaufgaben kann man vermutlich ein paar Aktionen in einer Aktionengruppe geschickt kombinieren.  
Damit meine ich, dass alle Textmanipulationen in den Dateien in Hilfs-Tag-Feldern vorbereitet werden können, dann der sehr simple Export in die Text-Datei stattfindet und anschließend die Hilfs-Tag-Felder entfernt werden.

Ein anderer Ansatz wäre es, wenn alle Textmanipulationen in dem Export-Skript durchgeführt werden, und dabei die Tag-Felder in den Dateien nur gelesen werden.

So oder so muss man die Mp3tag Skriptsprache zu benutzen wissen.

############################################  
Was soll eigentlich geschehen mit Artistennamen, die weniger als vier Buchstaben haben, wie z. B. "ABC"?  
Sollen diese Namen rechts verlängert werden mit einem bestimmten Zeichen, so dass sich ein Kürzel von immer vier Zeichen ergibt?

Den Albumartist kann man zum Beispiel mit dieser Formel kürzen:

**$left($regexp($upper(%ALBUMARTIST%),'[\U]',)$repeat('\_',4),4)**

Von:  
AC-DC  
Rolling Stones  
aBc

Nach:  
ACDC  
ROLL  
ABC\_

Die Datumsangabe kann man zum Beispiel mit dieser Formel auf das Jahr kürzen:

**$left(%YEAR%,4)**

Beide Teile zusammengefügt sieht zum Beispiel so aus:

**$left($regexp($upper(%ALBUMARTIST%),'[\U]',)$repeat('\_',4),4)'#'$left(%YEAR%,4)**

DD.20110519.1627.CEST

---

<div class="post-metadata">

### Author: ![mctag](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/cc9497/32.png) [@mctag](https://community.mp3tag.de/u/mctag)
#### Post date: [May 19, 2011, 11:55am UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/3 "2011-05-19T11:55:27Z")

</div>

> [@DetlevD](#):
>
> Damit meine ich, dass alle Textmanipulationen in den Dateien in Hilfs-Tag-Feldern vorbereitet werden können, dann der sehr simple Export in die Text-Datei stattfindet und anschließend die Hilfs-Tag-Felder entfernt werden.

Ja - das gefällt mir. Und vor allem: das versteh' ich. 🙂  
Damit fange ich heute Abend gleich an.

> [@DetlevD](#):
>
> Ein anderer Ansatz wäre es, wenn alle Textmanipulationen in einem Export-Skript durchgeführt werden, und dabei die Tag-Felder in den Dateien nur gelesen werden.

[scherz] Ich schau' mal in die "Gelben Seiten" - bestimmt finde ich jemanden, der mir diesen Ansatz  
zu einer Lösung fortführt.[/scherz]  
==\> Diesen Ansatz traute ich mich nicht zu erwähnen ... ich taste mich aber mal in diese Richtung vor.

> [@DetlevD](#):
>
> So oder so muss man die Mp3tag Skriptsprache zu benutzen wissen.

Naja, zumindest kann ich lesen - mal schauen, ob ich's auch verstehe. ![:book:](https://community.mp3tag.de/uploads/default/original/1X/0036d5b68f6226c53f6c68abfd0a7b8096fd4505.gif ":book:")

Danke.

---

<div class="post-metadata">

### Author: ![mctag](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/cc9497/32.png) [@mctag](https://community.mp3tag.de/u/mctag)
#### Post date: [May 19, 2011, 5:06pm UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/4 "2011-05-19T17:06:31Z")

</div>

So, kleiner Erfolg:

$if($eql(%comment%,CD-Album),$upper($left($replace(%albumartist%,/,,-,),4))#%year%,)

@DetlevD  
Ich habe erst jetzt gesehen, das Du Deinen Beitrag ergänzt hast. Danke.

> [@](#):
>
> Was soll eigentlich geschehen mit Artistennamen, die weniger als vier Buchstaben haben, wie z. B. "ABC"?  
> Sollen diese Namen rechts verlängert werden mit einem bestimmten Zeichen, so dass sich ein Kürzel von immer vier Zeichen ergibt?

Tja, berechtigte Frage. Und auch hier Danke für Deine Anregung mit dem "\_". Vielleicht übernehme ich das. Zwar müssen es nicht immer 4 Zeichen sein, aber es wäre eine logisch und konsequent zu Ende gedacht.

> [@](#):
>
> Ein anderer Ansatz wäre es, wenn alle Textmanipulationen in dem Export-Skript durchgeführt werden, und dabei die Tag-Felder in den Dateien nur gelesen werden.

Auf meinem Weg zum Ziel bin ich jetzt da angekommen.

Meine **Exportkonfiguration** sieht bisher so aus:

```
$filename(txt,utf-16)Interpret#Jahr
$loop(%_filename_ext%)$if($eql(%comment%,CD-Album),$upper($left($replace(%albumartist%,/,,-,),4))#%year%,)
$loopend()

```

Zufrieden bin ich aber noch nicht, denn ich brauche ja von einem Album nur **einen Eintrag** in der TXT und nicht eben so viele wie Songs im Album sind.... .

Magst Du mir nochmal die Richtung zeigen, ich die ich jetzt denken muß?  
Ich glaube, jetzt gehts um Schleifen, oder? (i.S.v. $loop).

---

<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: [May 20, 2011, 8:51am UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/5 "2011-05-20T08:51:29Z")

</div>

> [@McTag](#):
>
> ... ich brauche ja von einem Album nur **einen Eintrag** in der TXT und nicht eben so viele wie Songs im Album sind.... .  
> Magst Du mir nochmal die Richtung zeigen, ich die ich jetzt denken muß?  
> Ich glaube, jetzt gehts um Schleifen, oder? (i.S.v. $loop).

Das kann man etwa in dieser Art tun ...

**$filename($getEnv('USERPROFILE')'\Desktop\Mp3tag.Export.txt',ANSI)'Interpret|Jahr' $loop($regexp(%ALBUM%,'\,\*\s\*CD\s\*\d+$',,1),1)$if($eql(%COMMENT%,'CD-Album'),$left($regexp($upper(%ALBUMARTIST%),'[\U]',)$repeat('\_',4),4)'|'$left(%YEAR%,4),) $loopend()**

DD.20110520.1252.CEST

---

<div class="post-metadata">

### Author: ![mctag](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/cc9497/32.png) [@mctag](https://community.mp3tag.de/u/mctag)
#### Post date: [May 22, 2011, 3:30pm UTC](https://community.mp3tag.de/t/export-nach-csv-oder-txt/12027/6 "2011-05-22T15:30:39Z")

</div>

Danke, **DetlevD** das funktioniert.  
Du hast mir sehr geholfen, und mein Thema/meine Aufgabe gelöst.  
Ich finde es toll, das Du Dir die Zeit genommen hast.

Ich nehme mir jetzt die Zeit, zu verstehen, warum es funktioniert; bestimmt komme ich dann nocheinmal auf Dich zurück.
