私の提案:
バッチを表示 (最小化) する必要がありますか、それとも非表示にすることができますか?
非表示にできる場合は、VBScript を使用して非表示で起動します。
With CreateObject("W"&"Script.Shell")
.Run "LongRun.bat", 0
End With
本当にバッチを表示する必要がある場合は、バッチが終了して再起動するのを待つ隠しスクリプトを作成できます。
ステップ 1: 非表示のスクリプトを起動 ( Start.vbs
):
Set WsShell = CreateObject("W"&"Script.Shell")
WsShell.Run "Hidden.vbs", 0
ステップ 2:Hidden.vbs
バッチを起動し、それが戻るのを待ちます。
'This script is supposed to start hidden!
Set WsShell = CreateObject("W"&"Script.Shell")
WsShell.Run "LongRun.bat", 7, True
'WsShell.Run "REBOOT.EXE ..." 'Must remove comment and complete command line
MsgBox "Rebooting..."
現在LongRun.bat
も実行中ですHidden.vbs
(ただし、表示されません)。
何らかの理由LongRun.bat
で終了した場合Hidden.vbs
は、実行を継続して再起動します。
( WScript.Shell.Runドキュメント)
編集:通知"W"&"Script.Shell"
は同じです"WScript.Shell"
が、StackOverflow では書き込みが許可されていません!