- Содержание статьи
Примитивный скрипт для перезапуска на 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.

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