2012-10-01 24 views
1

我有下面的脚本文件invisible.vbs如何停止批处理文件在后台运行开始使用.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

进入任务管理器并结束cmd.exe进程。

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 
2

要从.bat文件做到这一点,首先添加这abc.bat

TITLE=KILLME 

然后运行这个命令:

taskkill /fi "windowtitle eq KILLME" 

您可以将标题设置为任何你想要的。 KILLME只是一个例子。

0

如果你拥有它,在命令提示符打开后,可以按下CTRL +Ç。等待几秒钟,它会终止。

相关问题