Как запустить программу в фоновом режиме и обработать сценарий, когда окно закрыто?

Как запустить программу в фоновом режиме и обработать сценарий, когда окно закрыто?

Для запуска программы в фоновом режиме я использую:

START /B my.exe

Но когда я закрываю командную строку, процесс перестает работать. Как можно запустить программу в фоновом режиме из командной строки и продолжить работу, если командное окно закрыто?

решение1

Разница есть:

  • если my.exeэто инструмент командной строки, то START /B my.exeэквивалентно , my.exeпоэтому my.exeбудет завершен, если соответствующее cmdокно будет закрыто;
  • если my.exeэто приложение с графическим пользовательским интерфейсом (GUI), то оно my.exeдолжно продолжать работать независимо от того, cmdзакрыто ли соответствующее окно.

Вы можете проверить разницу, используя следующий пример (обратите внимание, что cscript.exeэто инструмент командной строки, хотя wscript.exeэто приложение с графическим интерфейсом):

start "" /B cscript 923692.vbs

в противоположность

start "" /B wscript 923692.vbs

Создайте пример 923692.vbsскрипта следующим образом (или используйте другой полубесконечный скрипт):

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

Читатьstart ссылка на командудля /Bзначения переключателя.

Связанный контент