我试图找到如何使用它的标题关闭进程。
我找到了命令:
taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"
并且效果很好。
当我尝试:
oShell.Run "taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"", , True
我收到错误,无法编译。
关于如何在这一行中使用符号的任何想法?
答案 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")