如何停止 VBScript 中的特定脚本
How to stop a specific script in VBScript
是否有停止特定脚本的代码?我见过一种允许您使用 taskkill 结束 all 脚本的方法。
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 而不是一次 运行 的每个脚本。
在下面试试。您需要保留要终止的进程的 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
是否有停止特定脚本的代码?我见过一种允许您使用 taskkill 结束 all 脚本的方法。
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 而不是一次 运行 的每个脚本。
在下面试试。您需要保留要终止的进程的 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