Проверка работы и перезапуск программы через VBS скрипт
- Recluse
- 03.11.2016
- 7 877
- 0
- 15.03.2019
- 15
- 15
- 0
- Содержание статьи
Примитивный скрипт для перезапуска на VBScript
Если нужно реализовать проверку работы программы и её перезапуск через VBS скрипт, то вы по нужному адресу. Делается это следующим скриптом:
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
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.
Добавить комментарий