使用CMD根据其描述查找Windows进程

时间:2016-05-25 10:50:44

标签: windows process cmd

我运行时得到两个结果:

任务列表/ FI“imagename eq PROCESS.exe”

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
PROCESS.exe                   2760 Console                    1      8,156 K
PROCESS.exe                  20160 Console                    1      9,060 K

但我只想杀死 ONE ......

如果我打开任务管理器,我可以看到我的每个进程都有不同的描述。

所以我需要做的就是按流程描述进行过滤。

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您想按窗口标题过滤流程列表,请使用

tasklist /FI "windowtitle eq Title"

作为@ Axel对WMI的回答的补充 - 与description相同:

WMIC Process WHERE "Description='Only One'" GET ProcessID

在VBS中:

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_Process WHERE Description = 'My Desc'",,48) 
For Each objItem in colItems
'Do Stuff
Next

description 的另一个可能值是程序集的描述,可以使用PowerShell检索。使用Get-Process获取装配路径并使用[System.Diagnostics.FileVersionInfo]::GetVersionInfo($File).FileDescription检索其描述。

答案 1 :(得分:2)

使用以下内容根据自己的进程ID和父进程ID来区分进程:

wmic process get processid,parentprocessid,executablepath | find "PROCESS"

这样,您就可以找到要杀死的进程ID。

wmic授予对其他流程属性的访问权限。

使用wmic process get /?找出可用的内容。

另一个可能有用的工具是Microsoft / Sysinternals的PsList