如何在VBScript中停止特定脚本

时间:2017-03-10 02:24:25

标签: vbscript wsh

是否有代码停止特定脚本?我已经看到了一种允许您使用taskkill结束所有脚本的方法。

Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "taskkill /f /im Cscript.exe", , True 
WshShell.Run "taskkill /f /im wscript.exe", , True  

我只想结束一个睡在wscript.sleep中的特定脚本,而不是每次运行的每个脚本。

1 个答案:

答案 0 :(得分:0)

请尝试以下操作。您需要保留要杀死的进程的ProcessId。下面的代码打开一个记事本并将其杀死。此示例显示如何在脚本启动时捕获脚本的ProcessId,然后将其删除。

Private Sub KillTest()
  Dim killCmd
  Dim pid

  Set WshShell = CreateObject("WScript.Shell")
  Set EngineRun = WshShell.Exec("notepad")
  pid = EngineRun.ProcessID

  killCmd = "taskkill /pid " & CStr(pid)
  Set EngineRun = WshShell.Exec(killCmd)
  Set EngineRun = Nothing
  Set WshShell = Nothing
End Sub