You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CMD仅从tasklist提取指定进程的PID?求过滤操作符说明

提取指定进程的PID

我来帮你搞定精准提取PID的需求!不用再忍受冗长的输出,结合tasklist的过滤参数和for命令就能轻松实现:

按进程名提取(比如cmd.exe)

如果是在命令提示符直接运行,用这条命令:

for /f "tokens=2 delims= " %a in ('tasklist /fi "imagename eq cmd.exe" /nh') do echo %a

如果是写在批处理脚本里,把%a改成%%a即可:

for /f "tokens=2 delims= " %%a in ('tasklist /fi "imagename eq cmd.exe" /nh') do echo %%a

简单解释下:

  • /fi "imagename eq cmd.exe":精准过滤出进程名为cmd.exe的条目
  • /nh:去掉表头行,只保留进程数据
  • for /f:解析命令输出,tokens=2指定提取第二列(也就是PID列),delims= 以空格作为列分隔符

按窗口标题提取

如果要根据窗口标题过滤,把imagename换成windowtitle就行,比如找标题为“命令提示符”的进程:

for /f "tokens=2 delims= " %a in ('tasklist /fi "windowtitle eq 命令提示符" /nh') do echo %a
Tasklist过滤操作符说明

你提到的eq、ne这些是tasklist的/fi(过滤)参数支持的比较操作符,我整理了常用的几类:

  • eq:等于(Equal),用于匹配完全符合条件的条目
  • ne:不等于(Not Equal),排除指定条件的进程
  • gt:大于(Greater Than),适用于数值类条件(比如PID、内存使用量)
  • lt:小于(Less Than),同上
  • ge:大于等于(Greater or Equal)
  • le:小于等于(Less or Equal)

这些操作符可以搭配不同的过滤关键字使用,常见的关键字包括:

  • imagename:进程可执行文件名(如notepad.exe)
  • windowtitle:进程窗口的标题
  • pid:进程ID
  • status:进程状态(可选值:Running、Not Responding、Unknown)
  • memusage:进程内存使用量(单位:KB)
  • username:运行进程的用户名

举个实用例子:找内存使用量超过20000KB的进程

tasklist /fi "memusage gt 20000"

内容的提问来源于stack exchange,提问作者GregariousJB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:12:14