vbs taskkill 按名称

vbs taskkill by name

我正在尝试查找如何使用它的标题关闭进程。

我找到了命令:

taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"

效果很好。

当我尝试时:

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

我收到一个错误,无法编译。

知道如何在这一行中使用符号 " 吗?

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

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

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

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

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

希望对您有所帮助:)

如果您使用 Run 执行命令行,您会发现屏幕上出现难看的 dos windows 弹出窗口,以避免使用以下两种方式之一:

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

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

或者你可以试试下面的代码: 此代码将从任务管理器中选择任务并关闭进程。 将代码复制粘贴到“.vbs”文件中并使用 call 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")