flooo89
Goto Top

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

Content-Key: 336711

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

Printed on: April 19, 2024 at 04:04 o'clock

Mitglied: 132895
Solution 132895 May 03, 2017 updated at 07:54:15 (UTC)
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
Member: emeriks
Solution emeriks May 03, 2017 at 07:54:00 (UTC)
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.
Member: flooo89
flooo89 May 03, 2017 updated at 08:00:47 (UTC)
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
Mitglied: 132895
Solution 132895 May 03, 2017 updated at 10:19:40 (UTC)
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]