使用 WMIC 和环境变量 Taskkill 存在于特定路径中的进程
Taskkill a Process present in a specific path using WMIC and a Environment Variable
我正在尝试使用 %appdata%
变量关闭位于特定目录中的 exe 进程,但它不起作用。
WMIC Process Where "ExecutablePath='%APPDATA%\Adobe\screenrecorder.exe'" Call Terminate
如果我尝试在没有 %appdata%
的情况下关闭进程,它会按预期工作。
WMIC Process Where "ExecutablePath='C:\Users\Admin\AppData\Roaming\Adobe\screenrecorder.exe'" Call Terminate
必须使用 %appdata%
才能正常工作,有人知道如何使用 %appdata%?
关闭 exe 文件吗
使用批处理文件,您可以这样尝试:
@echo off
Title Kill Application using WMIC
Set Application=%AppData%\Adobe\screenrecorder.exe
Call :Add_backSlash %Application%
echo %Application%
pause
WMIC Process Where "ExecutablePath='%Application%'" Call Terminate
pause
EXIT
::---------------------------------------------------------------------
:Add_backSlash <String>
Rem Subroutine to replace the simple "\" by a double "\" into a String
Set "Application=%1"
Set "String=\"
Set "NewString=\"
Call Set "Application=%%Application:%String%=%NewString%%%"
Exit /b
::---------------------------------------------------------------------
您应该已经注意到路径中的反斜杠需要在 WMIC 的 WHERE 子句中进行转义,因此您只需扩展环境变量,并将反斜杠替换为转义的反斜杠即可。这样做的一般方法是 %VariableName:CharToSubstitute=SustitutionChars%
WMIC Process Where "ExecutablePath='%AppData:\=\%\Adobe\screenrecorder.exe'" Call Terminate
或更稳健
%SystemRoot%\System32\wbem\WMIC.exe Process Where "ExecutablePath='%AppData:\=\%\Adobe\screenrecorder.exe'" Call Terminate
我正在尝试使用 %appdata%
变量关闭位于特定目录中的 exe 进程,但它不起作用。
WMIC Process Where "ExecutablePath='%APPDATA%\Adobe\screenrecorder.exe'" Call Terminate
如果我尝试在没有 %appdata%
的情况下关闭进程,它会按预期工作。
WMIC Process Where "ExecutablePath='C:\Users\Admin\AppData\Roaming\Adobe\screenrecorder.exe'" Call Terminate
必须使用 %appdata%
才能正常工作,有人知道如何使用 %appdata%?
使用批处理文件,您可以这样尝试:
@echo off
Title Kill Application using WMIC
Set Application=%AppData%\Adobe\screenrecorder.exe
Call :Add_backSlash %Application%
echo %Application%
pause
WMIC Process Where "ExecutablePath='%Application%'" Call Terminate
pause
EXIT
::---------------------------------------------------------------------
:Add_backSlash <String>
Rem Subroutine to replace the simple "\" by a double "\" into a String
Set "Application=%1"
Set "String=\"
Set "NewString=\"
Call Set "Application=%%Application:%String%=%NewString%%%"
Exit /b
::---------------------------------------------------------------------
您应该已经注意到路径中的反斜杠需要在 WMIC 的 WHERE 子句中进行转义,因此您只需扩展环境变量,并将反斜杠替换为转义的反斜杠即可。这样做的一般方法是 %VariableName:CharToSubstitute=SustitutionChars%
WMIC Process Where "ExecutablePath='%AppData:\=\%\Adobe\screenrecorder.exe'" Call Terminate
或更稳健
%SystemRoot%\System32\wbem\WMIC.exe Process Where "ExecutablePath='%AppData:\=\%\Adobe\screenrecorder.exe'" Call Terminate