在任务管理器中筛选、查看进程

在 Windows 中,无论是通过 CMD 还是 PowerShell,都能根据命令行关键词检索对应的进程(支持模糊匹配 / 精确匹配),无需手动在任务管理器中筛选。以下是两种常用且可直接执行的方法,附详细步骤和示例:

一、CMD 命令行检索(简单高效,适合快速筛选)

利用 tasklist(列出所有进程)和 findstr(筛选关键词)组合,可根据命令行中的路径、参数等关键词查找进程。

1. 基础语法(模糊匹配)

cmd

复制代码
tasklist /V /FI "IMAGENAME eq 进程名.exe" | findstr "命令行关键词"
  • /V:显示进程的详细信息(包含命令行核心参数);
  • /FI "IMAGENAME eq 进程名.exe":过滤指定进程(如 cmd.exepython.exe,不写则匹配所有进程);
  • findstr "关键词":筛选命令行中包含该关键词的进程(支持中文、路径、参数等)。

2. 实用示例

示例 1:查找所有命令行包含 D:\datapython.exe 进程

cmd

复制代码
tasklist /V /FI "IMAGENAME eq python.exe" | findstr "D:\data"

输出结果(包含 PID、命令行等关键信息):

plaintext

复制代码
python.exe                     1234 Console                    1    500,000 K 运行中    DESKTOP-XXX\用户名    "D:\Python39\python.exe" "D:\data\script.py" --param 123
示例 2:查找命令行包含 run.batcmd.exe 进程

cmd

复制代码
tasklist /V /FI "IMAGENAME eq cmd.exe" | findstr "run.bat"
示例 3:查找所有进程中命令行包含 GraphRAG 的进程(不限进程名)

cmd

复制代码
tasklist /V | findstr "GraphRAG"

3. 精确匹配命令行(可选)

若需精确匹配完整命令行(而非模糊关键词),可结合 findstr /C:"完整命令行"(避免空格拆分关键词):

cmd

复制代码
tasklist /V /FI "IMAGENAME eq python.exe" | findstr /C:"D:\data\script.py --param 123"

二、PowerShell 检索(功能更强,支持复杂筛选)

PowerShell 的 Get-WmiObjectGet-CimInstance 能直接获取进程的完整命令行信息,支持更灵活的筛选(如正则匹配、多关键词组合),适合复杂场景。

1. 基础语法(模糊匹配)

powershell

复制代码
# 方法1:使用 Get-WmiObject(兼容 Windows 10/11)
Get-WmiObject Win32_Process | Where-Object { $_.CommandLine -match "命令行关键词" } | Select-Object ProcessId, Name, CommandLine

# 方法2:使用 Get-CimInstance(更现代,推荐)
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match "命令行关键词" } | Select-Object ProcessId, Name, CommandLine
  • ProcessId:进程 PID(用于后续结束进程等操作);
  • Name:进程名(如 cmd.exepython.exe);
  • CommandLine:完整命令行(包含路径和参数);
  • -match:支持正则表达式(模糊匹配,若需精确匹配用 -eq)。

2. 实用示例

示例 1:查找命令行包含 D:\data--param 的 Python 进程

powershell

复制代码
Get-CimInstance Win32_Process | Where-Object { 
    $_.Name -eq "python.exe" -and $_.CommandLine -match "D:\data" -and $_.CommandLine -match "--param" 
} | Select-Object ProcessId, Name, CommandLine
示例 2:正则匹配命令行以 D:\tools 开头的 cmd.exe 进程

powershell

复制代码
Get-CimInstance Win32_Process | Where-Object { 
    $_.Name -eq "cmd.exe" -and $_.CommandLine -match "^D:\\tools" 
} | Select-Object ProcessId, CommandLine

(注:PowerShell 中路径分隔符需用 \\ 转义,或用单引号 'D:\tools'

示例 3:导出匹配结果到文件(便于后续分析)

powershell

复制代码
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match "GraphRAG" } | 
Select-Object ProcessId, Name, CommandLine | 
Export-Csv -Path "D:\process_search_result.csv" -Encoding UTF8 -NoTypeInformation

3. 快速结束找到的进程(可选)

若需终止检索到的进程,可直接在筛选后添加 Stop-Process

powershell

复制代码
# 查找并强制结束命令行包含 `old_script.py` 的 Python 进程
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match "old_script.py" } | 
Stop-Process -Force

三、关键说明与注意事项

  1. 管理员权限:部分系统进程或其他用户启动的进程,需要以「管理员身份」运行 CMD/PowerShell 才能检索到(右键 CMD/PowerShell 图标 →「以管理员身份运行」)。
  2. 关键词匹配规则
    • 模糊匹配:直接输入关键词(如 datascript.py),会匹配所有包含该关键词的命令行;
    • 精确匹配:PowerShell 中用 -eq "完整命令行"(需包含引号、路径、参数,完全一致才会匹配);
    • 正则匹配:PowerShell 的 -match 支持正则(如 ^D:\\ 匹配以 D:\ 开头的路径)。
  3. 进程名过滤 :若不限定进程名,会遍历所有进程(速度稍慢),建议尽量指定进程名(如 cmd.exepython.exe)提升检索速度。

四、总结(快速选择方案)

场景 推荐工具 核心命令示例
快速模糊筛选(简单关键词) CMD `tasklist /V /FI "IMAGENAME eq python.exe" findstr "D:\data"`
复杂筛选(多关键词 / 正则 / 导出) PowerShell `Get-CimInstance Win32_Process Where-Object { $_.CommandLine -match "GraphRAG" } Select-Object ProcessId, CommandLine`

直接复制对应命令,替换「进程名」和「命令行关键词」即可使用,无需额外配置,适合 Windows 下快速定位进程!

方案 1:查找所有进程中命令行包含 docker commit 的进程(最通用)

cmd

复制代码
tasklist /V | findstr /i "docker commit"

方案 2:仅查找 cmd.exe 进程中包含 docker commit 的进程(更精准)

cmd

复制代码
tasklist /V /FI "IMAGENAME eq cmd.exe" | findstr /i "docker commit"
相关推荐
维吉斯蔡5 小时前
【VS Code / Cursor】文件夹右键快捷打开与文件类型自动关联
开发语言·程序人生·学习方法
蓝斯4975 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
前端工作日常5 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
都叫我大帅哥6 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-6 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常7 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅7 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp
luj_17687 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
always_TT7 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
xcLeigh7 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang