Показать полную графическую версию : Нужна помощь со скриптом на повторный запуск приложения
Нужна помощь со скриптом
Всех с новым годом
Win 2003x32
И так у меня есть одна программа (NOD32view)которая всё время должна быть запущена и работать
Но почему то она через какое-то время сама закрывается
Нужен скрипт который будет запускать эту программу заново если программа сама закроется
Может чтоб скрипт наблюдал в процессах (мониторинг)как только программы там нет он её запускал
Такой скрипт или команду Bat реально сделать или нет
Очень нужно
В одной из тем (http://forum.oszone.net/thread-135912.html) Petya V4sechkin, предложил решение
bat
@Echo Off
SetLocal EnableExtensions
Set ProcessName=notepad.exe
TaskList /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If %ErrorLevel% NEQ 0 Start %windir%\%ProcessName%
vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery( _
"Select Name From Win32_Process " _
& "Where Name = 'notepad.exe'")
If colProcesses.Count = 0 Then
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "notepad.exe"
End If
zion87,
Можно поточнее я не понял, как он будет запускать приложение если то само закроется
Вот на этих примерах приложение запускается но если я его закрываю то оно само по себе не запускается
Может я что то упустил
допустим у меня путь C:\NOD32view\NOD32view.exe
http://i.piccy.info/i7/34552454e04c59989369e7d00d65953f/4-55-308/37981755/1_500.jpg (http://piccy.info/view3/3930771/de75c7250598b353f91eefb32f9eaf35/)http://i.piccy.info/a3/2013-01-03-10-33/i7-3930771/500x253-r/i.gif (http://i.piccy.info/a3c/2013-01-03-10-33/i7-3930771/500x253-r)
вот что пишет
http://forum.oszone.net/attachment.php?attachmentid=92302&d=1357208863
а как сделать чтоб не бежала постоянно строка может время повторного запуска поменять
http://i.piccy.info/i7/406300b0807f6022c30750b40ac41945/4-55-308/54592771/1_500.jpg (http://piccy.info/view3/3930802/72327a26bd30d7e59387af7359a9c944/)http://i.piccy.info/a3/2013-01-03-10-45/i7-3930802/500x253-r/i.gif (http://i.piccy.info/a3c/2013-01-03-10-45/i7-3930802/500x253-r)
а куда его добавить, чтоб было правильно
у меня с час происходит следующие
в командной строке быстро бегут строки NOD32view.exe с большой скоростью о они не заканчиваются
можно чтоб скорость этих строк была меньше хотя б 1 шт в минуту
@Echo Off
SetLocal EnableExtensions
Set put=C:\NOD32view
Set ProcessName=NOD32view.exe
:1
cls
TaskList /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If %ErrorLevel% NEQ 0 Start %put%\%ProcessName%
ping -n 50 127.0.0.1 >NUL
goto :1
Отлично спасибо
А реально чтоб ещё окно командной строки на показывалось на экране а только в диспетчере задач процесс этот был
Я его потом скомпилирую с бат в exe файл и добавлю в
автозагрузку или в активные процессы
СПАСИБО МНОГО, а отметить сообщение полезным в самый раз!!!
для скрытого запуска нужно было изначально использовать vbs, теперь могу предложить такой вариант
первый файл process.bat
@Echo Off
SetLocal EnableExtensions
Set put=C:\NOD32view
Set ProcessName=NOD32view.exe
:1
cls
TaskList /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If %ErrorLevel% NEQ 0 Start %put%\%ProcessName%
ping -n 50 127.0.0.1 >NUL
goto :1
и второй
start.vbs для скрытого запуска первого вот с таким содержанием
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c process.bat", 0, false
в итоге остается просто запустить start.vbs(желательно чтобы оба файла лежали в одной папке)
ЕСЛИ КОМПИЛИРОВАТЬ В EXE ТО МОЖНО СДЕЛАТЬ ПРИЛОЖЕНИЕ СКРЫТЫМ В КОМПИЛЯТОРЕ Quick Batch File Compiler И НИКАКИХ ПРОЧИХ ФАЙЛОВ НЕ ПОНАДОБИТЬСЯ
Black_Raven_
24-01-2014, 15:09
здравствуйте, мне тоже нужно запускать программу после ее автоматического завершения, но я совершенно не разбираюсь в этих скриптах, не могли бы вы написать пошаговую инструкцию как и что сделать, что куда писать, копировать, запускать, заранее спасибо
1. Приведите точный путь к приложению, и его командную строку.
2. Как понимать «ее автоматического завершения»?
Black_Raven_
02-02-2014, 10:15
1. C:\Program Files\Zona\Zona.exe
2. она сама закрывается по неизвестным причинам
1. C:\Program Files\Zona\Zona.exe »
На WSH:
Option Explicit
Dim strFile
Dim collSWbemObjectSet
strFile = "C:\Program Files\Zona\Zona.exe"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strFile) Then
Set collSWbemObjectSet = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 " & _
"WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.ExecutablePath = '" & Replace(strFile, "\", "\\") & "'" _
)
Do
collSWbemObjectSet.NextEvent
WScript.CreateObject("WScript.Shell").Run """" & strFile & """"
Loop
Set collSWbemObjectSet = Nothing
Else
WScript.Echo "Can't find file [" & strFile & "]."
WScript.Quit 1
End If
End With
WScript.Quit 0
2. она сама закрывается по неизвестным причинам »
Крайне рекомендуется вместо использования скрипта исследовать, найти и ликвидировать эти причины.
Black_Raven_
05-02-2014, 05:22
спасибо за код, только я в этом совсем не разбираюсь, а можете написать подробнее что и как сделать, что куда скопировать, что запустить, заранее благодарен
Скопируйте вышеприведённый код. Сохраните в файл с расширением «.vbs» и запустите его.
omegastripes
05-02-2014, 23:11
Приведенные ниже скрипты будут перезапускать определенную программу, как только она будет закрыта. В качестве примера используется C:\Windows\notepad.exe. Этот путь в тексте скрипта нужно заменить на свой, кавычки не трогать. Итак, неубиваемый блокнот :) :
Версия VBscript. Поместить этот код в текстовый файл и сохранить с расширением .vbs
Do: CreateObject("WScript.Shell").Run """C:\Windows\notepad.exe""", , True: Loop
Версия BAT или CMD (точнее это VBS, "завернутый" в BAT или CMD). Поместить этот код в текстовый файл и сохранить с расширением .bat или .cmd
' & start "" wscript /e:vbscript "%~dpf0"
Do: CreateObject("WScript.Shell").Run """C:\Windows\notepad.exe""", , True: Loop
Для остановки скрипта в диспетчере задач завершить процесс wscript.exe
Источники:
http://forum.script-coding.com/viewtopic.php?id=6519
http://ss64.com/nt/start.html
Black_Raven_
08-02-2014, 15:02
всем откликнувшимся огромное спасибо, все работает, все здорово, спасибо что написали как остановить его:)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.