Wie lässt sich ein Programm im Hintergrund ausführen und auf ein Szenario reagieren, in dem das Fenster geschlossen ist?

Wie lässt sich ein Programm im Hintergrund ausführen und auf ein Szenario reagieren, in dem das Fenster geschlossen ist?

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.exeum ein Befehlszeilentool handelt, START /B my.exeist es gleichwertig mit und wird my.exedaher beendet, wenn das entsprechende Fenster geschlossen wird.my.execmd
  • Wenn es my.exesich um eine Anwendung mit grafischer Benutzeroberfläche (GUI) handelt, my.exesollte sie weiter ausgeführt werden, unabhängig davon, ob das entsprechende cmdFenster geschlossen ist.

Sie können den Unterschied anhand des nächsten Beispiels überprüfen (beachten Sie, dass es cscript.exesich um ein Befehlszeilentool und nicht wscript.exeum eine GUI-Anwendung handelt):

start "" /B cscript 923692.vbs

im Gegensatz zu

start "" /B wscript 923692.vbs

Erstellen Sie ein Beispielskript 923692.vbswie 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 /BBedeutung des Schalters.

verwandte Informationen