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

在 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"
相关推荐
韩立学长9 小时前
【开题答辩实录分享】以《兴趣班预约管理系统的设计与实现》为例进行选题答辩实录分享
java·mysql·intellij idea
2301_765715149 小时前
C语言轮子制造
c语言·开发语言·制造
量子炒饭大师9 小时前
【C++入门】Cyber骇客的同名异梦——【C++重载函数】(与C的函数差异)
c语言·开发语言·c++·函数重载
charlie1145141919 小时前
现代嵌入式C++教程:if constexpr——把编译期分支写得像写注释 —— 工程味实战指南
开发语言·c++·笔记·学习·嵌入式·现代c++
冰暮流星9 小时前
javascript如何转换为字符串与布尔型
java·开发语言·javascript
LIZhang20169 小时前
c++ 转化句柄,解决多线程安全释放问题
开发语言·c++
youqingyike10 小时前
Qt 中 QWidget 调用setLayout 后不显示
开发语言·c++·qt
_OP_CHEN10 小时前
【从零开始的Qt开发指南】(二十二)Qt 音视频开发宝典:从音频播放到视频播放器的实战全攻略
开发语言·c++·qt·音视频·前端开发·客户端开发·gui开发
FAFU_kyp10 小时前
Rust 字符串与切片
开发语言·后端·rust
oioihoii10 小时前
从C++到C#的转型完全指南
开发语言·c++·c#