[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]结束进程的VBS代码中for each语句为何会报错呢?

  1. strComputer="."
  2. Set wmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  3. Set Get_Process=wmi.instancesof("win32_process")
  4. For Each Process In Get_Process
  5. count=count+1
  6. ReDim Preserve Array_Name(count-1)
  7. Array_Name(count-1)=Process.name
  8. Next
  9. Input= InputBox("请输入要结束的进程名称:")
  10. For i=0 To count
  11. ReDim Preserve Array_Name(count)
  12. If Input=Array_Name(i) Then
  13. Set New_Process = wmi.execquery("select * from win32_process where name ="&  Array_Name(i) )
  14. For Each Over_Process In New_Process
  15. Over_Process.terminate()
  16. Next
  17. Set New_Process = Nothing
  18. Set Over_Process= Nothing
  19. End If
  20. Next
  21. Set wmi = Nothing
  22. Set Get_Process = Nothing
  23. Set Process =  Nothing
复制代码

报错是在上面的第18行


代码的目的是,想实现用inputbox输入一个进程的名字,例如输入taskmgr.exe ,然后结束它。
1

评分人数

    • zqz0012005: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# powerbat


    OK,我以后好好改善一下

TOP

回复 3# broly


    恩,我会改进的

TOP

回复 3# broly


    嘿嘿 ,那个红字部分就是我输入的值,和原来数组里面的值对比,如果相等那么就进行下一步,我稍微改一下吧

TOP

回复 7# broly


    哈哈 ,知识都学杂了

TOP

回复 9# broly


    数组存放了所有进程的名称,起初有个查询进程的功能,我本来的目的就是我知道进程名字,我就可以在inputbox里面输入,然后结束它,所以我让where name = &  Array_Name(i) 这数组就用到这里面了,也不知道这样的用法对不对

TOP

回复 12# powerbat


    听君一席话,胜读十年书。

TOP

回复 11# powerbat


    cscript.exe调试,说实话,还真没有用这个调试的习惯,多谢指点。

TOP

返回列表