vbs taskkill的名字

时间:2016-07-29 14:18:15

标签: vbscript taskkill

我试图找到如何使用它的标题关闭进程。

我找到了命令:

taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"

并且效果很好。

当我尝试:

oShell.Run "taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"", , True

我收到错误,无法编译。

关于如何在这一行中使用符号的任何想法?

3 个答案:

答案 0 :(得分:3)

为了在另一对双引号内使用双引号,您需要使用""而不是",因为如果您使用一个引号",它将被认为是第一个和第二个引号之间的文本结尾

因此,您的代码应如下所示:

oShell.Run "taskkill /fi ""WINDOWTITLE eq the_title_of_the_windows""", , True

以下示例将终止窗口标题(计算器)的所有进程:

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.Run "taskkill /fi ""WINDOWTITLE eq Calculator""", , True

希望有所帮助:)

答案 1 :(得分:0)

如果您使用Run执行命令行,则会在屏幕上发现丑陋的dos窗口弹出窗口,以避免使用以下两种方法之一:

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.Exec "taskkill /fi ""WINDOWTITLE eq Calculator"""

OR

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.Run "taskkill /fi ""WINDOWTITLE eq Calculator""",0,False

答案 2 :(得分:0)

或者,您可以尝试以下代码: 此代码将从任务管理器中选择任务并关闭该过程。 将代码复制粘贴到“ .vbs”文件中,并使用调用KillAll(“ your task name.exe”)

Function KillAll(ProcessName)
    Dim objWMIService, colProcess
    Dim strComputer, strList, p
    Dim i :i= 0 
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name like '" & ProcessName & "'")
    For Each p in colProcess
        p.Terminate     
    i = i+1        
    Next
    MsgBox("Total Instance :: " &i& " of "&ProcessName&" is killed")
End Function

call KillAll("MicrosoftEdge.exe")