VBS有条件循环执行代码

来源:百度知道 编辑:UC知道 时间:2024/05/24 21:13:13
要求如下:
编一个VBS,循环执行(且静默)c:\windows\bug.bat
如果bug.bat正在运行则不再运行
如果bug.bat已关闭则继续运行
要求此VBS循环执行
我只懂一点
大概意思是:
do
set Cleaner=createobject("wscript.shell")
Cleaner.run "c:\windows\bug.bat",vbhide
这段代码不会编了,就是条件的
loop
高手帮忙看看我的对吗?然后再帮我把剩下的编一下
谢谢了!!!

方法一(超级简单):
set Cleaner=createobject("wscript.shell")
do
    Cleaner.Run "c:\windows\bug.bat", vbhide, true'注意这里的最后一个参数
loop

方法二(不断检测进程,不存在则调出):
set Cleaner=createobject("wscript.shell")
do
    WScript.Sleep 100'暂停100毫秒,避免占用过多资源
    if not isProcessExists("cmd.exe") then Cleaner.run "c:\windows\bug.bat", vbhide
loop
'检测是否存在进程proName
Private Function isProcessExists(proName)
    Set objWMIService = GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\.\root\cimv2")
    Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name=