
プログラムをバックグラウンドで実行するには以下を使用します:
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
GUI アプリケーションであることに注意してください)。
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
。