本帖最后由 luckboy45 于 2015-1-20 17:13 编辑
我想要实现下面的效果,
VBS程序运行后检测CMD.exe进程是否存在,不存在则自删除。
存在则Wscript.Sleep 180000,然后检测同目录下LOG.TXT有无生成,如果存在则自删除。如果未生成,则结束掉CMD.EXE,然后弹出提示框
MsgBox "程序遇到未知问题即将关闭,请重新运行本程序", 64, "未知问题",后自删除。
以上程序是为了检测我写的BAT脚本能否正常运行,正常运行后约在2分钟后退出CMD进程并在VBS脚本同目录下生成LOG.TXT
该VBS会同步与BAT执行,如果3分钟还无生成LONG.TXT则证明BAT可能存在死循环,则自动结束CMD进程后自杀。
我在网上收罗了点代码,但无法运行的,麻烦帮看看,并写出代码,先谢谢了!~- Set Ws = CreateObject("WScript.Shell")
- Dim Wmi, Proc, Info, Flag, Target
- Target = "cmd.exe"
- Flag = "log.txt"
- Set Wmi = Getobject("Winmgmts:")
- Set Proc = Wmi.Execquery("Select * From Win32_Process")
- For Each Info In Proc
- If Info.Name = Target Then
- Wscript.Sleep 180000
- If not Flag = "log.txt" Then MsgBox "程序遇到未知问题即将关闭,请重新运行本程序", 48, "友情提示"
- End If
- if Flag = True then
- MsgBox "文件存在", 64, "友情提示"
- End sub ‘自删除
复制代码
|