flooo89

Bash Script stoppt nach start

Hallo,

Ich habe mit viel gesuche in diesem Forum ein kleines Script zusammengestellt, welches bei Anmeldung in Windows zunächst einige Netzwerklaufwerke verbindet, und dann ein Programm starten soll.
Zunächst das gute: Es macht was es soll.
Allerdings stoppt die Eingabeaufforderung nach Ausführen des Programmes einfach, so dass sich das Fenster auch nicht schließt.
Das ist mein Script:

@echo off
net use * /delete /yes
timeout /T 5
net use Y: \\DATENTRESOR\Plex_Data /user:Datentresor\User Passwort
net use Z: \\DATENTRESOR\Flo /user:Datentresor\User Passwort
timeout /T 5
%str%="C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe"  
start %str%
timeout /T 5

Ich habe den Pfad zum Programm in die Variable String geschrieben, weil ich irgendwo hier gelesen habe, dass die Leerzeichen im Pfad so kein Problem mehr darstellen.
Das scheint auch zu stimmen, denn das Programm startet.
Das TimeOut nach dem Start, habe ich nur zugefügt, um zu schauen ob es weiter geht. Das tut es aber leider nicht.

Wäre super, wenn mir jemand helfen könnte.

Liebe Grüße,
Flo
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 336711

Url: https://administrator.de/forum/bash-script-stoppt-nach-start-336711.html

Ausgedruckt am: 05.05.2025 um 03:05 Uhr

132895
Lösung 132895 03.05.2017 aktualisiert um 09:54:15 Uhr
Goto Top
Du deklarierst die Variable falsch
Set "str=C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe"  
start "" "%str%"  
Gruß

p.s. Bash ist kein Batch
emeriks
Lösung emeriks 03.05.2017 um 09:54:00 Uhr
Goto Top
Hi,
wie wird das Script denn gestartet?

Ein "exit" als letzten Befehl schließt die letzte Shell.

Direkt
start "C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe"  
geht auch.

E.
flooo89
flooo89 03.05.2017 aktualisiert um 10:00:47 Uhr
Goto Top
Ich könnte natürlich behaupten, dass mein Schreibfehler pure Absicht war, weil es sich bei meinem Script nur um "Bash" handelt. aber das wäre gelogen.

Wie dem auch sei, mit der korrekten Zuweisung der Variable funktioniert nun alles so, wie es soll.

Den Pfad, mit Leerzeichen, direkt zwischen die "" zu schreiben, führte bei mir leider immer zu Fehlern.

Vielen Dank für eure Hilfe face-smile
132895
Lösung 132895 03.05.2017 aktualisiert um 12:19:40 Uhr
Goto Top
Zitat von @flooo89:
Den Pfad, mit Leerzeichen, direkt zwischen die "" zu schreiben, führte bei mir leider immer zu Fehlern.
Weil bei "Start" der erste Parameter nicht der Pfad ist sondern der Titel der CMD, deswegen die zwei leeren Anführungszeichen vor dem Pfad.
Ein start /? sagt's dir.
START ["Titel"] [/D Pfad] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME] | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <NUMA-Knoten>] [/AFFINITY <Hex.-Affinitätsmaske>] [/WAIT] [/B]
      [Befehl/Programm]
      [Parameter]