.png)
Сообщение.bat:
@echo off
Start "" WScript //Nologo Message.vbs "Message 1" 0
Start "" WScript //Nologo Message.vbs "Message 2" 0
Start "" WScript //Nologo Message.vbs "Message 3" 0
Сообщение.vbs:
Do While (msgbox is open?)
WScript.Sleep(500)
Loop
Message = Replace(WScript.Arguments(0),"\n",vbNewLine)
WScript.Quit MsgBox(Message,WScript.Arguments(1))
Как проверить, открыто ли уже сообщение?
wshShell.AppActivate("Изменение системных настроек")не работает.
Моя цель в том, чтобы MsgBox появлялись по одному (а не все вместе, как это происходит) без остановки выполнения пакета (пакет должен закрываться сразу после открытия).
Другими словами, я хочу получить тот же эффект, что и:
Цель.bat
@echo off
msg * Message 1
msg * Message 2
msg * Message 3
решение1
Вы можете использовать команду Start
с переключателем/Wait
@echo off
Start "Msg1" /wait WScript //Nologo Message.vbs "Message 1" 0
Start "Msg2" /wait WScript //Nologo Message.vbs "Message 2" 0
Start "Msg3" /wait WScript //Nologo Message.vbs "Message 3" 0