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

在 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"
相关推荐
宠..2 小时前
对单选按钮分组
开发语言·数据库·c++·qt·安全·安全性测试
大学生资源网2 小时前
基于JavaWeb的邮件收发系统的设计与实现(源码+文档)
java·开发语言·spring boot·mysql·毕业设计·源码·课程设计
cici158742 小时前
基于高斯混合模型(GMM)的说话人识别系统MATLAB实现
开发语言·人工智能·matlab
崇山峻岭之间2 小时前
Matlab学习记录11
开发语言·学习·matlab
此剑之势丶愈斩愈烈2 小时前
Spring获取URL信息
java·后端·spring
Vic101012 小时前
Redis防重复点击与分布式锁
java·数据库·redis·分布式
itwangyang5202 小时前
macOS(Sequoia 15.x)+ MacTeX 2025 + TeXShop + 期刊模板
java·开发语言·macos
2301_807288632 小时前
MPRPC项目(第八天,(消费者视角)RpcChannel的调用过程以及实现)
开发语言·qt
spencer_tseng2 小时前
Eclipse HeapDump
java·ide·eclipse