中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 16:12
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理监督进程
可打印版本  786 / 3
第1楼 Mekinery 发表于 2007-03-11 10:37
初级用户 发帖 32 积分 83
批处理监督进程
在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 ]
第2楼 slore 发表于 2007-03-11 10:43
铂金会员 发帖 2,478 积分 5,212
进程?进程里都是cmd吧?
第3楼 leton 发表于 2007-03-12 03:13
初级用户 发帖 72 积分 170
前两天刚研究过~~

用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
第4楼 leton 发表于 2007-03-12 03:16
初级用户 发帖 72 积分 170
如果想循环得话(不断判断两个文件运行情况),可以在新加得批处理中添加调用回 vbs脚本

自己看看了解,我没写全,哈~~GOOD Luck
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023