Board logo

标题: 批处理监督进程 [打印本页]

作者: Mekinery     时间: 2007-3-11 10:37    标题: 批处理监督进程

在d盘下有1.bat ,2.bat

1.bat在运行.2.bat也在运行
2.bat是监督1.bat进程,如果1.bat运行,2.bat不调用1.bat
如果1.bat进程突然终止2.bat立刻调用1.bat能不能实现?

[ Last edited by Mekinery on 2007-3-10 at 10:26 PM ]
作者: slore     时间: 2007-3-11 10:43
进程?进程里都是cmd吧?
作者: leton     时间: 2007-3-12 03:13
前两天刚研究过~~

用vbs方式,先把 1.bat 2.bat 用工具编译成 1.exe 2.exe
然后用 vbs 查看进程进行判断 (需要增加多1个批处理,作为判断 否后运行 1.exe 或 2.exe)

把判断后要运行得批处理或脚本文件,代替到 ****.exe 位置就行了


strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objProcess in colProcesses
    If Right(objProcess.Name, 5) = "1.exe" Then
         Wscript.Quit
    End If
Next

For Each objProcess in colProcesses
    If Right(objProcess.Name, 5) = "2.exe" Then
        Wscript.Quit
    End If
Next


Set objShell = CreateObject("WScript.Shell")
objShell.Run "*****.exe"
Wscript.Quit
作者: leton     时间: 2007-3-12 03:16
如果想循环得话(不断判断两个文件运行情况),可以在新加得批处理中添加调用回 vbs脚本

自己看看了解,我没写全,哈~~GOOD Luck