
Um das Programm im Hintergrund auszuführen, verwende ich:
START /B my.exe
Aber wenn ich die Befehlszeile schließe, wird der Prozess beendet. Wie kann ich ein Programm von der Befehlszeile aus im Hintergrund ausführen und weiterlaufen lassen, wenn das Befehlsfenster geschlossen ist?
Antwort1
Es besteht ein Unterschied:
- Wenn es sich
my.exe
um ein Befehlszeilentool handelt,START /B my.exe
ist es gleichwertig mit und wirdmy.exe
daher beendet, wenn das entsprechende Fenster geschlossen wird.my.exe
cmd
- Wenn es
my.exe
sich um eine Anwendung mit grafischer Benutzeroberfläche (GUI) handelt,my.exe
sollte sie weiter ausgeführt werden, unabhängig davon, ob das entsprechendecmd
Fenster geschlossen ist.
Sie können den Unterschied anhand des nächsten Beispiels überprüfen (beachten Sie, dass es cscript.exe
sich um ein Befehlszeilentool und nicht wscript.exe
um eine GUI-Anwendung handelt):
start "" /B cscript 923692.vbs
im Gegensatz zu
start "" /B wscript 923692.vbs
Erstellen Sie ein Beispielskript 923692.vbs
wie folgt (oder verwenden Sie ein anderes, halb-endloses Skript):
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
BtnCode = WshShell.Popup( _
WScript.ScriptName & vbNewLine & "Exit script?" _
, 5 _
, WScript.FullName _
, vbOKCancel + vbQuestion)
If BtnCode = vbOK Then Exit Do
Wscript.Sleep 15000
Loop
Lesenstart
Befehlsreferenzfür die /B
Bedeutung des Schalters.