找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12646|回复: 2

VBS固定循环命令

[复制链接]
发表于 2008-10-21 00:16:46 | 显示全部楼层 |阅读模式
例一:有一脚本代码如下:

set ws=createobject("wscript.shell")
ws.run "aaa.exe"
wscript.sleep 10000
ws.run"taskkill /f /im aaa.exe",0
如何让vbs脚本自动循环运行10后,自动关机
命令该如何写?????


例二:有一脚本代码如下:
set ws=createobject("wscript.shell")
ws.run "aaa.exe"
当aaa.exe启动时,相继调用bbb.exe和ccc.exe启动
当aaa.exe关闭时,bbb.exe和ccc.exe依然运行
请问能否用脚本命令当aaa.exe退出时,bbb.exe和ccc.exe也跟着关闭
命令该如何写?????
发表于 2008-10-21 02:42:30 | 显示全部楼层

第一个比较好写

第一个好写点,第二个貌似不好写。。


  1. set ws = CreateObject("WScript.Shell")

  2. i=0

  3. do until i=10
  4.     i=i+1
  5.     ws.run "aaa.exe"
  6. loop
  7. ws.run"taskkill /f /im aaa.exe",0
  8. shutdown -s -t 0
复制代码


或者下面的代码也可以循环10次,就可以了
实际上,我是用vbs实现的。
  1. set ws = CreateObject("WScript.Shell")
  2. i=0
  3. while i<10
  4.     i=i+1
  5.     ws.run "aaa.exe"
  6. wend
  7. ws.run "cmd /c taskkill /im aaa.exe /f"
  8. ws.run "shutdown -s -t 0"
复制代码


完了。特别感谢 zqz0012005 看了他的东西模仿过来的,自己仔细看他的帖子,回答的非常的经典!

参考帖子 http://bbs.bathome.net/thread-1979-1-1.html

[ 本帖最后由 lixiaodaoaaa 于 2008-10-21 02:49 编辑 ]
发表于 2008-10-21 12:52:22 | 显示全部楼层
第二个:
  1. a = "aaa.exe"
  2. b = "bbb.exe"
  3. c = "ccc.exe"

  4. strComputer = "."
  5. Set objWMIService = GetObject("winmgmts:" _
  6.     & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
  7. Set colMonitoredProcesses = objWMIService. _
  8.     ExecNotificationQuery("select * from __instancedeletionevent " _
  9.             & "within 1 where TargetInstance isa 'Win32_Process'")
  10. i = 0

  11. Do While i = 0
  12.     Set objLatestProcess = colMonitoredProcesses.NextEvent
  13.     If LCase(objLatestProcess.TargetInstance.Name) = LCase(a) Then
  14.             KillProcess(b)
  15.             KillProcess(c)
  16.     End If
  17. Loop



  18. Sub KillProcess(sProcessName)
  19.         strComputer = "."
  20.         Set objWMIService = GetObject("winmgmts:" _
  21.             & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
  22.         
  23.         Set colProcessList = objWMIService.ExecQuery _
  24.             ("Select * from Win32_Process Where Name = '" & sProcessName & "'")
  25.         
  26.         For Each objProcess in colProcessList
  27.             objProcess.Terminate()
  28.         Next
  29. End Sub
复制代码

[ 本帖最后由 rat 于 2008-10-21 12:53 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:48 , Processed in 0.017864 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表