Показать полную графическую версию : [решено] Ожидание процессов с разной поледовательностью запуска для их завершения.
Devils Night
07-04-2012, 09:33
В общем задача такая, как сделать так чтобы например запустил батник, и этот батник работал до тех пор пока не появится процесс program.exe, после появления этого процесса батник его бы сразу завершал и закрывался, возможно ли такое!?
Например, так (http://forum.oszone.net/post-1885831.html#post1885831).
Devils Night
07-04-2012, 09:55
Iska, Ага, то есть получается вот так?
:Repeat
>nul ping.exe -n 2 127.0.0.1
taskkill.exe /f /im "setup.exe" || goto :Repeat
Сейчас кое что проверил, и тут вышла одна проблема, по которой такой вопрос:
а что если процесса два и более, например program.exe, program2.exe, program3.exe и причём последовательность их запуска меняется, это как нибудь решается?
Ожидаем появления любого из «program.exe», «program2.exe», «program3.exe», закрываем его и завершаем работу пакетного файла — так?
Devils Night
07-04-2012, 10:13
Iska, Именно.
Тогда предложу WSH:
Option Explicit
Dim arrProcesses
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim strProcess
arrProcesses = Array("notepad.exe", "calc.exe", "freecell.exe")
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent " & _
"WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'")
Do
With objSWbemEventSource.NextEvent.TargetInstance
For Each strProcess In arrProcesses
If UCase(.Name) = UCase(strProcess) Then
.Terminate
Exit Do
End If
Next
End With
Loop
Set objSWbemEventSource = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing
WScript.Quit 0
Devils Night
07-04-2012, 10:45
Iska, Спасибо, я так понимаю это в один из файлов vbs, wsf, wsf вставлять этот код, потом от командной строки запустить?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.