Проверка работы и перезапуск программы через VBS скрипт

Примитивный скрипт для перезапуска на VBScript

Если нужно реализовать проверку работы программы и её перезапуск через VBS скрипт, то вы по нужному адресу. Делается это следующим скриптом:

Set objWMIService = GetObject("winmgmts:\.rootcimv2")  Do  Running = False  Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")  For Each objItem in colItems  	If objItem.Name = "Notepad.exe" Then  		Running = True  		Exit For  	End If  Next  If Not Running Then  	CreateObject("WScript.Shell").Run "Notepad.exe", 1, True  End If  WScript.Sleep 30000  Loop

Разберем наиболее важные части скрипта. Одна из самых первых строчек в скрипте устанавливает значение переменной Running в значение False — дальше станет понятно зачем. В строчке If objItem.Name = «Notepad.exe» Then задается имя процесса, который нужно найти в списке процессов на компьютере (именно на компьютере, а не у пользователя!). Затем, если он найден, то строчка Running = True устанавливает переменную Running в значение True. Если же не запущен, то ничего не делается, так как переменная Running уже установлена в значение False.

После этого, если значение Running равно False (строчка If Not Running Then), то происходит запуск нужного исполняемого файла (CreateObject(«WScript.Shell»).Run «Notepad.exe», 1, True). Затем команд WScript.Sleep 30000 в скрипте указывает приостановить работу скрипта на 30000 миллисекунд (на 30 секунд, но время в vbs скрипте задается именно в миллисекундах). Затем строчка Loop приказывает начать выполнение цикла по новой — с команды Do.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *