我有一个文件invisible.vbs有以下脚本
Set WshShell = WScript.CreateObject("WScript.Shell")
obj = WshShell.Run("e:\abc.bat", 0)
set WshShell = Nothing
abc.bat
有以下脚本
:loop
EVENTCREATE /T ERROR /L APPLICATION /ID 100 /D "This is test message."
ping localhost -n 21 > nul
goto loop
现在我想手动停止abc.bat
,但问题是如何?
答案 0 :(得分:2)
答案是:这取决于。你想手动停止一次吗?在这种情况下,请使用@BaliC已经给出的答案。
如果您想为脚本添加一个选项以允许终止后台循环,那么您需要this之类的内容,并且需要通过Exec()
生成后台进程,而不是通过Run()
。这样你就可以保留一个允许你终止进程的句柄:
Set sh = CreateObject("WScript.Shell")
Set p = sh.Exec("%COMSPEC% /c e:\abc.bat")
' IE dialog creation goes here
Do While p.Status = 0
WScript.Sleep 100
If ie.document.all("continue").Value = "no" Then p.Terminate
Loop
答案 1 :(得分:2)
要从.bat
文件执行此操作,请先将其添加到abc.bat
:
TITLE=KILLME
然后运行此命令:
taskkill /fi "windowtitle eq KILLME"
您可以将标题设置为您想要的任何内容。 KILLME只是一个例子。
答案 2 :(得分:0)
进入任务管理器并结束cmd.exe
进程。
答案 3 :(得分:0)
如果在命令提示符下打开它,可以按 CTRL + C 。等几秒钟它就会终止。