VBS TaskKill по имени
Я пытаюсь найти способ закрыть процесс, используя его заголовок.
Я нашел команду:
taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"
и это прекрасно работает.
Когда я пытаюсь:
oShell.Run "taskkill /fi "WINDOWTITLE eq the_title_of_the_windows"", , True
Я получаю ошибку, и она не скомпилируется.
Есть идеи, как использовать этот символ в этой строке?
2 ответа
Чтобы использовать двойные кавычки внутри другой пары двойных кавычек, необходимо использовать ""
вместо просто "
потому что если вы используете одну кавычку "
это будет считаться концом текста между первой и второй кавычками
Итак, ваш код должен выглядеть так:
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
Надеюсь, это поможет:)
В качестве альтернативы вы можете попробовать следующий код: этот код выберет задачу из диспетчера задач и закроет процесс. Скопируйте вставленный код в файл ".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")
Если вы используете Run
чтобы выполнить командную строку, вы увидите на экране всплывающее окно с ужасными досками, чтобы избежать этого, используйте один из двух способов:
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