der.karsten
Goto Top

Musik-USB-Stick über Batch-Dateien portable machen

Hallo zusammen,

ich wende mich jetzt an euch, weil mir offen gesagt das "Know How" in Sachen Batch-Skripting fehlt!
Zu Anfang beschreibe ich einfach mal was ich vorhabe!

Ich möchte mir einen "USB-Musikstick" erstellen, der einen portabelen Player beinhaltet!
Auf diese Art muss ich auf dem jeweiligen Rechner keine Installationen vornehmen und kann meine Musik direkt vom Stick aus starten!
Das "Starten" des portabelen Players und das gleichzeitige "Laden" der Playlist möchte ich über Batch-Dateien realisieren!

Damit später mein Player auch auf jeden Fall startet, müssen die Pfadangaben ja "relativ" notiert sein!

Das Root-Verzeichnis meines Sticks enthält eine "später noch zu erstellende" Menü-EXE.
Hierzu möchte ich später ein schönes Menü mit einem der Zahlreichen "HTML-EXE-Programme" erstellen.
Damit das Root-Verzeichnis nicht total überladen aussieht enhält es nur ein weiteres Verzeichnis, mit dem Namen "musicstick".
In diesem Verzeichnis befinden sich alle weiteren Unterverzeichnisse und Dateien.

Zum einen enthält es ein Unterverzeichnis, das den Audio-Player enthält.
Da ich mir die reinen "Albenverzeichnisse" nicht mit Batch-Dateien zumüllen möchte habe ich habe ich zwei weitere Verzeichnisse mit identischer nachfolgender Struktur angelegt.
Ein Verzeichnis heißt "musikalben", das Verzeichnisse mit möglichen Musikrichtungen enhält.
In diesem Fall liegt dann beispielsweise u. a. das Verzeichnis "pop", das dann das Unterverzeichnis "Testalbum mit den MP3s enthält, sowie einer dazu passenden Playlist.

Das andere Verzeichnis nenne ich "transportsys" und auch dort gibt es u. a. ein Verzeichnis "pop", mit einem Unterverzeichnis "testalbum".
Dieses Verzeichnis "testalbum" enthält allerdings eine Batch-Datei, die einerseits den Audioplayer auf dem Stick starten und andererseits die Playlist in den Player laden soll.
Damit das dann fuktioniert, habe ich folgende sehr einfache Batch-Datei mit dem Namen "start.bat" gebaut:

cd ..
cd ..
cd ..
start transporttools\coolplayer\coolplayer.exe ..\..\..\..\musikalben\pop\testalbum\start.m3u
exit

Wenn ich nun diese Batch-Datei im besagten Verzeichnis "testalbum" anklicke funktioniert alles was geplant war wunderbar!
Leider nutzt mier dies an dieser Position und in diesem Verzeichnis nichts, denn jetzt kommen wir zum eigentlichen Problem!

Problembeschreibung: Ich möchte später wie bereits oben beschrieben ja ein nettes Menü mit Hilfe eines der vielen "HTML-EXE-Programme" schreiben.
Das bedeutet später zwangsläufig auch, das die "Menü-EXE-Datei" später im Root-Verzeichnis des USB-Sticks liegt, um einen schnellen Zugriff zu gewährleisten.
Ich muss es also irgendwie schaffen, die "start.bat-Datei" vom Root-Verzeichnis des USB-Sticks aus korrekt zu starten!
Da ich den ganzen "Startbefehl" im Ramen eines HTML-Links (a href="") notieren muss, läuft es letztlich wohl auf folgende Zeile als Startbefehl hinaus:

musicstick\transportsys\pop\testalbum\start.bat

Wenn ich aber nun eine Batch-Datei mit jener besagten Zeile anlege und diese dann mit einem Doppelklick starte, so erhalte ich folgende Fehlermeldung:

d79430a83532c584f4990c420c150820

Fehlervermutung: Es scheint so, das die "start.bat" versucht den Player und die Playlist nun wieder vom Root-Verzeichnis aus zu öffnen bzw. zu starten.

Die Frage an euch wäre nun:
Was muss ich ggf. zusätzlich in der "start.bat" notieren, damit diese beim Aufruf im Root-Verzeichnis durch

"start musicstick\transportsys\pop\testalbum\start.bat"

letztlich auch im "testalbum-Verzeichnis" bleibt und von dort aus die Playlist und den Player startet ???
Für die, die mitdenken wollen habe ich mal einen Screenshot der Verzeichnisstruktur eingefügt:

a345684506c8e97b679c9fa0b78594bc

Für alle die, die das Problem direkt nachvollziehen wollen habe ich meine Verzeichnisstruktur mal auf "megaupload.com" und auf "uploaded.to" hochgeladen!

http://www.megaupload.com/?d=WQQWYWGM

http://ul.to/rlzqkmqp

Das gesamte Archiv habe ich selbst durch Virustotal scannen lassen, das ja auch die "Player-EXE" mit enthalten ist!
Das gesamte Archiv ist VIRENFREI!!!

http://www.virustotal.com/file-scan/report.html?id=88c34c2f0fc9e4368a2a ...

Für all´die ganz genauen:
Im Archiv sind fünf GEMA-FREIE MP3-Dateien enthalten, die ich bei "hartwigmedia.com" gefunden habe!
Die Bedingungen sind unter folgender URL auch nochmals nachzulesen:
http://www.hartwigmedia.com/Index/de/faq/gemafreie-musik-kostenlos.html

Da ich mit diesem privaten Projekt KEINE kommerziellen Ziele verfolge sollte dies in Ordnung sein!

Ich hoffe ihr könnt mir bei meinem Problem helfen!

Gruß

Kasten

Content-Key: 169183

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

Printed on: April 23, 2024 at 11:04 o'clock

Member: bastla
bastla Jul 05, 2011 at 20:28:36 (UTC)
Goto Top
Hallo der.karsten und willkommen im Forum!
... im "testalbum-Verzeichnis" bleibt und von dort aus die Playlist und den Player startet ???
Beim Starten der "start.bat" von der "menue.bat aus wird ja das Verzeichnis nicht automatisch gewechselt (und damit ist auch gar nicht das "testalbum-Verzeichnis" aktuell) - daher müsste die "start.bat" (deren Namen ich auf zB "starten.bat" ändern würde, um gleich mal einer ev Kollision mit dem "start"-Befehl aus dem Weg zu gehen) eher so aussehen (wobei mE aber auch "start" noch entbehrlich wäre):
start musicstick\transporttools\coolplayer\coolplayer.exe musicstick\musikalben\pop\testalbum\start.m3u
exit
Ansonsten wären aber in der ursprünglichen Fassung nach den Verzeichniswechseln (die sich ganz nebenbei auch zu
cd ..\..\..
zusammenfassen ließen) für die Angabe des Playlistenpfades keine "..\..\..\" mehr nötig - das aktuelle Verzeichnis wäre dann ja ohnehin schon "musicstick"

Dass ein
\musicstick\...
beim Root-Verzeichnis des aktuellen Laufwerks ansetzen würde, ist Dir ja sicher auch bekannt, und dass schließlich ein
cd & pause
in einem Batch das aktuelle Verzeichnis anzeigt, könnte beim Testen nützlich sein ...

Grüße
bastla

P.S.: Vorbildliche Problembeschreibung face-smile
Member: der.karsten
der.karsten Jul 06, 2011 at 18:47:46 (UTC)
Goto Top
Hallo bastla,

riesigen Dank für Deine Hilfe!!!
Du hast mir den richtigen Denkanstoss gegeben!
Merkwürdig ist nur:
Dein Zweizeiler funktioniert in der Praxis nicht!
Gemeint ist Dein:

start musicstick\transporttools\coolplayer\coolplayer.exe musicstick\musikalben\pop\testalbum\start.m3u
exit

Komischerweise funktioniert aufgrund Deines Impulses bei mir:

start musicstick\transporttools\coolplayer\coolplayer.exe ..\..\..\..\musikalben\pop\testalbum\start.m3u
exit

Was ich dabei nicht verstehe:
Ich habe viermal "..\" anhängen müssen, bevor es funktionierte!
Ich muss zugeben das mich dabei wirklich Schritt für Schritt vorgetastet ´habe!
Von welchem Verzeichnis aus geht der Pfad nun vier Verzeichnisse zurück???

Kann man an meinem Code nochwas nachbessern oder optimieren???
Ich möchte ja das mein Stick überall fuktioniert.
Schreib mir doch bitte im Zweifelsfall den kompletten Code einer evtl. besseren Batch-Datei in diesem Thread.
Vielleicht hilft es wenn Du zum testen mein Archiv speicherst?!

Ich danke Dir nochmal recht herzlich!
Ohne Deinen Impuls wäre ich da vermutlich nicht drauf gekommen!
Danke!

Gruß

Karsten
Member: bastla
bastla Jul 06, 2011 at 19:32:26 (UTC)
Goto Top
Hallo der.karsten!

Der Pfad zur Playlist wird offensichtlich vom "Coolplayer" auf sein Verzeichnis bezogen - da sich das eigentliche Programm ("coolplayer+.exe") ja im Verzeichnis "musicstick\transporttools\coolplayer\App\CoolPlayer+" befindet, lassen sich auch die 4 "Schritte zurück" erklären - es sollte also Dein Code passen. face-smile

Bei meinen Tests war zwar der Player gestartet worden, das Abspielen des Songs musste ich allerdings per "Play"-Symbol bewirken - ich hatte aber angenommen, dass ev noch ein Aufruf-Parameter für das automatische Starten erforderlich wäre. Da aber dann tatsächlich abgespielt wurde, hatte ich nicht auf den Playlist-Pfad relativ zum Player-Verzeichnis geachtet. face-sad
Um übrigens das Verzeichnis, in welchem die gestartete Batchdatei liegt, aktuell zu machen, kannst Du
cd /d "%~dp0"
verwenden.

Grüße
bastla
Member: der.karsten
der.karsten Jul 06, 2011 at 21:51:24 (UTC)
Goto Top
Hallo bastla,

ich danke ganz herzlich für Deine Geduld und Mühe.

An die Admins dieses Boards an der Stelle auch mal ein klares Wort des Lobes:
Vielen Dank für die Freiheiten die ihr hier den Usern gewährt!
Das scheint bei weitem nicht überall so zu sein:
http://www.mcseboard.de/windows-forum-scripting-71/musik-usb-stick-batc ...

Danke, ich werde auf jeden Fall wieder hierhin kommen!

Grüße

Der.Karsten