boeby
Goto Top

ID3Tag mit Batch auslesen, sortieren, und als Playlist wiedergeben

"ID3Tag auslesen kann ich"

Hallo an alle

Sorry, wenn ich eure Hilfe wiedermal in Anspruch nehmen muss. Wie im Titel steht habe ich folgenden Wunsch:

( Ich fange mal von ganz vorne an).

Ich habe hier meine Festplatte und auf der hat es diverse MP3s in diversen ordnern.
Diese sollen alle ausgelesen werden. Das heisst alle MP3s im Root und den darunterliegenden Verzeichnissen.

Danach sollen Sie sortiert werden. Und anschliessen in eine Playlist *.pls geschrieben werden.

Die Art der Playlist sieht so aus:
>[playlist] 
>NumberOfEntries=1
>File1=C:\Documents and Settings\Administrator\Desktop\1. Lied.mp3
>Title1=1. Lied
Die Angabe File und Title geht natürlich weiter so.


Das habe ich bis jetzt:


chcp 1252
@echo off & setlocal EnableDelayedExpansion & set "pls=gesamtplaylist.pls"  
if exist gesamtplaylist.pls del gesamtplaylist.pls


set /a counter=0
for /R %%i in (*.mp3) do set /a counter+=1
echo [playlist] >"%pls%"  
echo NumberOfEntries=%counter%>>"%pls%"  
set /a counter=1
for  /f "delims=" %%i in ('id3tool *.mp3 ^| findstr "Song Title:"') do call :Ausgabe "%%i"  
goto :eof
:Ausgabe
set title=%~1
echo %title:~12% >> "%pls%"  
)
)

Der erste Teil ist ok. Also die Playlist wird auch in die Playlist geschrieben, und die Anzahl Files stimmt auch.

Nur ist die Ausgabe noch nicht sortiert und auch nicht Playlist konform.

Die ID3Tags lese ich mit folgendem Programm aus:
http://nekohako.xware.cx/id3tool/


Ich wäre froh wenn mir da jemand helfen könnte, oder einen kleinen Input reinbringen kann...

Danke euch vielmals !

Gruss Böby
[[Edit Biber: Beitrag z.T. umformatiert... die "Playlist" wurde nicht angezeigt.]]

Content-Key: 45429

Url: https://administrator.de/contentid/45429

Printed on: April 16, 2024 at 03:04 o'clock

Member: gi-networx
gi-networx Nov 27, 2006 at 15:48:35 (UTC)
Goto Top
Hallo Böby,

ich kenne leider das genaue Format der Playliste nicht. Aber wenn du mir kurz eine genaue Beschreibung des Formats zukommen lässt (ja ich weiß ich könnte auch selber nachsehen - aber ein bisschen Arbeit soll dir ja auch bleiben) schreib ich dir gerne heute noch schnell ein komplettes Programm das eine Lösung für dein Problem bietet. Dann musst du auch nicht mehr mit diesem Batchkram rummachen face-smile

Gruß
Michl
Member: bastla
bastla Nov 27, 2006 at 16:53:22 (UTC)
Goto Top
Hallo Böby!

Nur ist die Ausgabe noch nicht sortiert und auch nicht Playlist konform.
Zum Teil 1: Sortierung erfordert ein Kriterium.

Zweiteres solltest Du so erreichen:
@echo off & setlocal EnableDelayedExpansion & set "pls=gesamtplaylist.pls"  
chcp 1252 >nul
if exist gesamtplaylist.pls del gesamtplaylist.pls
set /a counter=0
for /R %%i in (*.mp3) do set /a counter+=1
echo [playlist] >"%pls%"  
echo NumberOfEntries=%counter% >>"%pls%"  
set /a counter=0
for /R %%i in (*.mp3) do call :MP3File "%%i"  
echo Fertig.
goto :eof
:MP3File
set /a counter+=1
echo %counter%
for  /f "delims=" %%i in ('id3tool %1 ^| findstr "Song Title:"') do call :Ausgabe %1 "%%i"  
goto :eof
:Ausgabe
echo File%counter%=%~1 >> "%pls%"  
set title=%~2
echo Title%counter%=%title:~12% >> "%pls%"  
Die "Kosmetik" (echo-Zeilen für laufende Nummer und "Fertig.") kannst Du natürlich wieder entfernen.

Grüße
bastla
Member: bastla
bastla Nov 27, 2006 at 17:21:05 (UTC)
Goto Top
Wenn ich annehme, dass die Sortierung nach dem Titel erfolgen soll, sähe das so aus:
@echo off & setlocal EnableDelayedExpansion 
chcp 1252 >nul
set PLS=gesamtplaylist.pls
set PLStemp=%temp%\PLStemp.txt
set PLStempS=%temp%\PLSsort.txt
if exist %PLS% del %PLS%
if exist %PLStemp% del %PLStemp%
set /a counter=0
for /R %%i in (*.mp3) do call :MP3File "%%i"  
echo [playlist] > "%PLS%"  
echo NumberOfEntries=%counter% >> "%PLS%"  
sort %PLStemp% /O %PLStempS%
set /a counter=0
for /f "tokens=1* delims=¹" %%i in (%PLStempS%) do call :Ausgabe "%%j" "%%i"  
del %PLStemp%
del %PLStempS%
echo Fertig.
goto :eof
:MP3File
set /a counter+=1
echo %counter%
for  /f "delims=" %%i in ('id3tool %1 ^| findstr "Song Title:"') do call :tempAusgabe %1 "%%i"  
goto :eof
:tempAusgabe
set title=%~2
echo %title:~12%¹%~1 >> %PLStemp%
goto :eof
:Ausgabe
set /a counter+=1
echo File%counter%=%~1 >>"%pls%"  
echo Title%counter%=%~2 >>"%pls%"  

Grüße
bastla

[Edit] Unnötige erste Schleife entfernt. [/Edit]
Member: Biber
Biber Nov 27, 2006 at 18:15:35 (UTC)
Goto Top
@gi_networx
Dann musst du auch nicht mehr mit diesem Batchkram rummachen face-smile
Nach dieser Äußerung brauchst Du nicht auf Weihnachtsgeschenke von bastla und mir hoffen.. face-wink

Würde mich aber freuen, wenn Du Deine Lösungsskizze auch postest...

Grüße
Biber
Member: bastla
bastla Nov 27, 2006 at 18:23:05 (UTC)
Goto Top
@gi_networx
... und schon gar nix Selbst-gebatchtes ... face-wink

@Biber
Käme man eigentlich irgendwie vernünftig um die ganzen "calls" (besonders bei meiner Variante "Sortiert") herum - oder anders gefragt, spricht überhaupt etwas dagegen (Stichwort Laufzeit)?

Grüße
bastla
Member: gi-networx
gi-networx Nov 27, 2006 at 18:29:24 (UTC)
Goto Top
Hi Biber,

hm, schade - jetzt hatte ich mich schon auf meinen neuen 21" Flachbildschirm zu Weihnachten gefreut face-smile

Ich verurteile Batch ja nicht zu tode, aber das es in gewisser Weise etwas umständlich ist willst du glaube ich auch nicht bestreiten oder?

Nachdem hier schon einige Lösungsvorschläge eingingen hab ich vorsichtshalber mal nicht an dem Programm weitergeschrieben. Wenn allgemeines Interesse besteht werde ich es allerdings gerne fertig stellen.

Hier eine kleine beschreibung wie es aussehen sollte:

mp3topls - reads the id3-tags from mp3-files and writes it to a file. 2006 by gi_networx

usage: mp3topls [-help] [-rootdir directory] [-recursive] [-mask mask] [-pre prefix] [-post postfix] [-f format] [-sort criteria] [-out filename]

[-help]
shows this text

[-rootdir directory]
indicates the directory that contains your mp3-files. default is: C:\

[-recursive]
set this option if you want subdirectories of -rootdir to be scanned for mp-files also.

[-mask mask]
mask that will be used for searching mp3-files. default is: *.mp3 face-smile

[-pre prefix] [-post postfix]
something that should be written to the output file before/after the mp3-listing. see "-pre/-post options" for further information.
default for -pre is: [playlist]%br%NumberOfEntries=%count%%br%
default for -post is:

[-f format]
indicates the format in which id3-information will be written to the output file. see "-f options" for further information.
default is: File%filecount%=%path%%br%

[-sort criteria]
set this option if you want the mp3-files to be sorted by an other criteria than %title% in the output file. criteria can be any of the format options in -f. if you use %path% here, files will be sorted by their filename, not by the whole filepath+filename.

[-out filename]
indicates the filename of the output file. an existing file will be overwritten. default is: playlist.pls

-pre/-post options
%count% - total number of found mp3-files
%br% - line break
%length% - total length of found mp3-files

-f options
%br% - line break
%path%
%title%
%artist%
%album%
%tracknr%
%year%
%genre%
%comment%
%length% - length of the mp3-file
%filecount% - running number of the file
Member: Boeby
Boeby Nov 27, 2006 at 18:41:21 (UTC)
Goto Top
Ihr seid die besten. Alle zusammen !

Das Skript von Bastla tuts schon fast.

Das ich es nach Titel sortiert haben möchte, hast du richtig vermutet...


Leider sind nur 2785 Tracks von 5500 gelistet....

Kann das davon kommen, dass er manchmal Tracknamen als Befehl erkennt ?
http://boeby.game-host.org/cmdfenster.jpg

Sonst ist alles perfekt. Danke dir vielmals. Selbst hätte ich mich wohl noch jahrelang durch batch-tutorials kämpfen müssen.


Gruss Böby


( PS: Sehr viele MP3s sind mit Clipinc aufgenommen. Also nix illegal oder so... )
Member: Biber
Biber Nov 27, 2006 at 19:05:52 (UTC)
Goto Top
@bastla

naja, rein theoretisch (also ungetestet) müsste es eingedampft dann so in etwa aussehen:
@echo off & setlocal EnableDelayedExpansion 
chcp 1252 >nul
set PLS=gesamtplaylist.pls
set PLStemp=%temp%\PLStemp.txt
set PLStempS=%temp%\PLSsort.txt
if exist %PLS% del %PLS%
if exist %PLStemp% del %PLStemp%
set /a counter=0
for /R %%j in (*.mp3) do (
    set /a counter=!counter!+1
    echo !counter!
    for  /f "delims=" %%i in ('id3tool %%j ^| findstr "Song Title:"') do (  
        set title=%%~i
        echo !title:~12!¹%%~i >> %PLStemp%
))
echo [playlist] > "%PLS%"  
echo NumberOfEntries=%counter% >> "%PLS%"  
sort %PLStemp% /O %PLStempS%
set /a counter=0
for /f "tokens=1* delims=¹" %%i in (%PLStempS%) do (  
        set /a counter=!counter!+1  
        echo File!counter!=%~1 >>"%pls%"  
	echo Title!counter!=%%~i >>"%pls%"  
)
del %PLStemp%
del %PLStempS%
echo Fertig.

@gi_networx

Nein, ich habe ja auch nur Spass gemacht.... face-wink
Ich habe es ja auch schon mehrfach in anderen Beiträgen geschrieben... Batch ist ganz nützlich für gewisse Massenverarbeitung und hat den Vorteil, dass es einfach überall vorhanden ist und JEDER mit einem Editor mal schnell aus einem X ein U oder aus dem Suchfilter "*.txt" den Suchfilter "*.jpg" machen kann, ohne sich danach mit Compiler-Warnungen oder nicht gefundenen Library-Pfaden herumbalgen zu müssen.

Aber auch bei Batch sind die Grenzen klar:
- wenn es irgendwie in Richtung Dialoge/User-Interaktionen geht, gibt es bessere Werkzeuge.
- Wenn ich im Batch nur 5 Zeilen schreiben muss, um mein (funktional gewünschtes) Ergebnis zu bekonmmen... warum sollte ich es dasselbe mit 20 Zeilen VBS machen?
- wenn ich aber 30 Batchzeilen schreiben muss, dann bekomme ich mit ebensovielen VBS-Zeilen etwas besseres
- Bätche sind in der Regel einmal geschrieben, nie redesigned.
Da besteht meistens nicht die Notwendigkeit einer Lesbarkeit/Wartbarkeit oder einer "Programmstruktur"

Aber: wenn ich den Plan hätte, etwas ganz Flexibles mit 7 Parametern in beliebiger Reihenfolge zu basteln und ggf Rückfragen beim User....
..da brauche ich Struktur, Gliederung, Wartbarkeit, absehbar auch Unterfunktionen und lokale Variablen...
> da ist dann eine der Light-Skript-Sprachen (KiX, VBS, JS...) angesagt.
Und ab einer Code-Länge >50 Zeilen sicherlich auch C++/C#/VB oder was immer Dir gut in der Hand liegt.

Von daher... ich meinte das durchaus im Ernst, dass es mich freuen würde, auch Deinen Lösungsansatz hier gepostet zu sehen.

Voller Erwartung & gar nicht eingeschnappt
Biber
Member: gi-networx
gi-networx Nov 27, 2006 at 19:09:29 (UTC)
Goto Top
Hi Biber,

okay, dann mache ich mein Programm jetzt fertig und gebe euch den Link zum Quelltext face-smile
Member: Boeby
Boeby Nov 27, 2006 at 19:17:22 (UTC)
Goto Top
Hi Biber,

okay, dann mache ich mein Programm jetzt
fertig und gebe euch den Link zum Quelltext
face-smile


Das wäre echt geil. Ein Kommandozeilen-tool mehr ist immer gut..
Member: bastla
bastla Nov 27, 2006 at 20:26:35 (UTC)
Goto Top
Hallo Böby!

Noch ein (wirklich letzter) Versuch (bevor mir gi_networx endgültig die Show stiehlt face-wink oder ich wieder einmal The Godfather empfehle):
@echo off & setlocal EnableDelayedExpansion 
chcp 1252 >nul
set PLS=gesamtplaylist.pls
set PLStemp=%temp%\PLStemp.txt
set PLStempS=%temp%\PLSsort.txt
if exist %PLS% del %PLS%
if exist %PLStemp% del %PLStemp%
set /a counter=0
for /R %%i in (*.mp3) do call :MP3File "%%i"  
echo [playlist] > "%PLS%"  
echo NumberOfEntries=%counter% >> "%PLS%"  
sort %PLStemp% /O %PLStempS%
set /a counter=0
for /f "tokens=1* delims=¹" %%i in (%PLStempS%) do call :Ausgabe %%j %%i  
del %PLStemp%
del %PLStempS%
echo Fertig.
goto :eof
:MP3File
set /a counter+=1
echo %counter%
id3tool %1 | findstr "Song Title:" > %temp%\MP3ttemp.txt  
for  /f "delims=" %%i in (%temp%\MP3ttemp.txt) do call :tempAusgabe %1 "%%i"  
goto :eof
:tempAusgabe
set "title=%~2"  
set "line1=%title:~12%"  
set "line2=%~1"  
echo "%line1%"¹"%line2%" >> %PLStemp%  
goto :eof
:Ausgabe
set /a counter+=1
echo File%counter%=%1 >>"%PLS%"  
echo Title%counter%=%2 >>"%PLS%"  

Grüße
bastla

[Edit] Die Probleme mit ' und Klammern bleiben aber trotzdem face-sad [/Edit]
[Edit2] Jetzt sind's noch Anführungszeichen, die stören könnten [/Edit2]
Member: gi-networx
gi-networx Nov 27, 2006 at 22:48:59 (UTC)
Goto Top
Hi,

ich hab das jetzt nochmal soweit hingefrickelt.
Runterzuladen als übervoralphatestversion ist das Ganze hier.

Allerdings resultiert die Sortierung nach Titel bis jetzt immernoch in einem Programmfehler.
Ich hatte heute einfach keine Lust mehr noch weiter daran zu arbeiten face-smile

Vielleicht entdeckt ihr ja noch den einen oder anderen fehler mehr - lasst es mich wissen face-smile

Gruß und gute Nacht
Michl
Member: Boeby
Boeby Nov 27, 2006 at 23:11:07 (UTC)
Goto Top
Also erstmal möcht ich euch 3en sagen, dass ich echt grossen Respekt vor eurer Arbeit habe! Echt, danke vielmals... !

@bastla

Die Bat funktioniert eigentlich. Es listet mir einfach nur knapp 2900 Einträge auf... Kann es sein, das der Bat einen Speicherbereich zugeordnet ist, und der nunmal voll ist ?

Das Problem vom Printscreen oben ist nicht besser worden. Ich habe das Gefühl, sie seien nicht weniger geworden. Aber es sind nicht die restlichen zu den 2900....

@gi_networx

Das ging ja wirklich sehr schnell...


Das Tool funktioniert eigentlich. Bis auf die Darstellung der Playlist.

Es sollte eigentlich so aussehen:

[playlist]
NumberOfEntries=1
File1=C:\Documents and Settings\Administrator\Desktop\1. Lied.mp3
Title1=1. Lied
File1=C:\Documents and Settings\Administrator\Desktop\2. Lied.mp3
Title1=2. Lied
File1=C:\Documents and Settings\Administrator\Desktop\3. Lied.mp3
Title1=3. Lied

usw.....


Ich denke mal, das tool hast du ja nicht nur für mich geschrieben. Richtig geil, wäre noch die Option, welche art von Playlist erstellt werden soll. Gibt ja verschiedene. PLS, M3U usw.....


PS: Wie siehts mit Sonderzeichen aus ? Hast du die beachtet ?
Member: gi-networx
gi-networx Nov 28, 2006 at 06:20:01 (UTC)
Goto Top
Hallo Böby,

Was funktioniert denn nicht mit der Darstellung?

Wegen dem Format: Deswegen habe ich ja die Schalter -f, -pre und -post eingebaut face-smile
Um das Format zu erreichen das du in deinem ersten Post angegeben hast müsstest du das ganze aufrufen mit:

-pre [playlist]%br%NumberOfEntries=%count%%br% -f File%filecount%=%fpath%%br%Title%filecount%=%title%%br%

Ich muss zugeben das ich gestern beim Auslesen der ID3-Tags ein Paar Probleme mit Sonderzeichen hatte und diese dann bei der Sortierung nach dem entsprechnedem Kriterium einfach wegggelassen habe face-smile
Ich werd mich heute abend nach der Arbeit aber nochmal dransetzen und hoffentlich auch den -sort %title% - bug finden.

Viele Grüße und einen erfolgreichen Tag

Michl
Member: bastla
bastla Nov 28, 2006 at 07:32:12 (UTC)
Goto Top
@böby

Hast Du die allerallerletzte Version (nochmals editiert) genommen - bei mir wurden damit auch die meisten problematischen Dateien (mit Klammern, ' oder "&" im Namen) richtig behandelt (wobei es immer noch Ausnahmen gibt - habe ich aber nicht mehr analysiert).

Und nochmals angemerkt: Das alles ist nur "Bastelei" - ausgereifte Lösungen (zB der oben erwähnte "Godfather") gibt es natürlich ohnehin ...

Grüße
bastla
Member: bastla
bastla Nov 28, 2006 at 07:33:27 (UTC)
Goto Top
Spät, aber doch, und nur der Ordnung halber, sei noch zum Format - siehe zB hier oder da - angemerkt, dass in PLSv2
  • der Eintrag "NumberOfEntries" auch an das Ende der Playlist platziert werden kann, was das "Vorweg-Einlesen zum Zählen" überflüssig machen würde, sowie
  • in einer dritten Zeile je MP3 die Länge angegeben werden könnte und
  • abschließend die Angabe der Version ("Version=2") erfolgen sollte.

In allen Versionen kann die Pfadangabe auch relativ erfolgen.

Ein Test mit WinAmp 5.31 ergab übrigens, dass die als "Title#" gespeicherten Einträge nur in der Playlist angezeigt werden, und auch nur, bis die entsprechende Datei abgespielt wird - danach werden wieder defaultmäßig die Tags "Artist" und "Title" aus der Datei verwendet.

Grüße
bastla
Member: gi-networx
gi-networx Nov 28, 2006 at 18:58:01 (UTC)
Goto Top
Hi an alle,

ich habe mein Programm jetzt soweit "fertig" gestellt.
Der Fehler lag darin, dass ich nicht überprüft hatte in welcher Version ein ID3-Tag vorliegt und immer versucht habe einen id3v2-tag auszulesen face-smile
Die Sortierung nach -sort criteria erfolgt mittels quicksort-Algorithmus.

Runterladen (inkl. Sourcen) könnt ihr es euch unter oben angegebenem Link.

Einfach mal mit -help aufrufen.

Bugs bitte an mich melden face-smile

Gruß
Michl
Member: Biber
Biber Nov 28, 2006 at 19:26:52 (UTC)
Goto Top
@gi_networx

Vielen Dank.
Ich gebe Dir dafür mal ein paar Sternchen als kleines Dankeschön.
Auch vor dem Testen. face-wink

@böby

Unabhängig davon, ob vielleicht eine Lösung mit roter Oberfläche oder mit Soundkartenunterstützung und Pre-Hear-Funktionen noch schöner wäre...

...würdest Du Deine Frage mit den vorliegenden Lösungsskizzen auch als "beantwortet" ansehen?

Grüße
Biber
Member: Boeby
Boeby Nov 28, 2006 at 20:15:15 (UTC)
Goto Top
@gi_networx

Vielen Dank.
Ich gebe Dir dafür mal ein paar
Sternchen als kleines Dankeschön.
Auch vor dem Testen. face-wink

@böby

Unabhängig davon, ob vielleicht eine
Lösung mit roter Oberfläche oder
mit Soundkartenunterstützung und
Pre-Hear-Funktionen noch
schöner wäre...

...würdest Du Deine Frage mit den
vorliegenden Lösungsskizzen auch als
"beantwortet" ansehen?

Grüße
Biber



Hi Biber

Ja ist Ok, und kann als beantwortet markiert werden...


@bastla

Ja ich hab die neuste Version getestet. Leider liest es nur 2900Files. Nacher ist einfach fertig.. Keine Ahnung weshalb... Hast du eine Ahnung ?


@gi_networx


Mit deinem tool klappts. Habe diese Paramter verwendet:
mp3topls.exe -rootdir "c:\eigene Musik" -recursive -pre [Playlist]%br%NumberOfEntries=%count%%br% -sort %title%


Danke dir vielmals. 6MP3s sind sehr komisch gelistet, aber das liegt wohl am File


Danke dir vielmals für deine Mühe.

Aber auch Bastla danke ich vielmals !


Gruss Böby
Member: gi-networx
gi-networx Nov 28, 2006 at 20:47:16 (UTC)
Goto Top
Hi,

eine Lösung mit roter Oberfläche oder mit Soundkartenunterstützung und
Pre-Hear-Funktionen noch schöner wäre...

Alles kein Problem, Wünsche und Anregungen einfach hier rein face-smile

Viele Grüße

Michl
Member: bastla
bastla Nov 28, 2006 at 21:28:53 (UTC)
Goto Top
@gi_networx

Soviel meine (kurzen) Tests gezeigt haben, fehlt anscheinend wirklich nur mehr die rote Oberfläche face-wink

Auf jeden Fall: Gute Arbeit (und da bei mir auch noch ein paar Sterne herumlagen ...)

Grüße
bastla
Member: Boeby
Boeby Nov 29, 2006 at 17:16:47 (UTC)
Goto Top
@gi_networx

Ich hab da ein Problem gefunden:

Und zwar, wenn ich es über ne Bat ausführen will, dann kommt die fehlermeldung "illegal option in -sort:""

Dann kommt die Meldung:

mp3topls.exe hat ein Problem festgestellt und muss beendet werden.

In der Bat steht folgendes:

mp3topls.exe -rootdir "c:\eigene Musik" -recursive -pre [Playlist]%br%NumberOfEntries=%count%%br% -sort %title%


In der Kommandozeile funktioniert es, nur in der Bat nicht...

Weisst du weshalb ?
Member: Biber
Biber Nov 29, 2006 at 17:36:34 (UTC)
Goto Top
Moin Böby,

als Workaround kannst Du erstmal die %-Zeichen in der *.bat verdoppeln.
mp3topls.exe -rootdir "c:\eigene Musik" -recursive -pre [Playlist]%%br%%NumberOfEntries=%%count%%br%% -sort %%title%%  

Dann klappt es.
Wenn das zu unübersichtlich wird, dann muss gi_networx sein Parameter-Parsing ändern und statt %-Zeichen ein $-Zeichen oder ein anderes Nicht-CMD-Steuerzeichen nehmen.

Gruß
Biber
Member: gi-networx
gi-networx Nov 29, 2006 at 17:39:49 (UTC)
Goto Top
Böby,

danke für den Hinweis, ist gefixed, einfach neu runterladen.

die Parameter zwischen jeweils einem % werden anscheinend aus einer Batch heraus als Batch-Variable intepretiert (die ja nicht vorhanden, also "" ist). Warum das nur aus einer Batch heraus passiert kann ich dir leider nicht genau sagen.

Ich habe das ganze jetzt so umgangen das Argumente nicht mehr zwischen einem % sondern zwischen einem * stehen (siehe -help).

Die Access Violation wurde von der Prozedur freeandexit verursacht. Das Programm stellt fest das für -sort eine ungültige Option ("") übergeben wurde und ruft freeandexit auf. freeandexit versuchte nun eine Stringliste zu freen die noch gar nicht richtig existierte.
Das habe ich jetzt aber auch gleich mit behoben.

[edit 19:27 Uhr - und natürlich nicht den neuen Schalter -play vergessen face-smile]

Viele Grüße

Michl