Regex 使用powershell脚本筛选文件内容

Regex 使用powershell脚本筛选文件内容,regex,powershell,scripting,filter,pid,Regex,Powershell,Scripting,Filter,Pid,我的文本文件中包含以下内容: Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ abc.exe 9152 Console 1 14,988 K abc

我的文本文件中包含以下内容:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============

abc.exe                       9152 Console                    1     14,988 K
abc.exe                       7964 Console                    1     89,188 K
需要注意的重要一点是,这两个进程具有相同的名称(abc.exe)。现在我只需要过滤其中一个进程的PID。我正在考虑将tasklist的内容输出到文本文件中,然后从我想要的行中过滤PID。我如何更好地使用powershell脚本实现这一点?我在考虑正则表达式,但不能得到我想要的确切结果。这是两个过程之间的关系:

Parent.exe 
 ->abc.exe
   ->abc.exe

什么工具生成文本文件?能否修改生成流程信息表的工具


未使用
Get Process
cmdlet收集进程父/子层次结构。考虑使用<代码>获取WMIObjixWi32进程,因为它的输出包含父进程的字段,恰当地命名为 PARTENPROCESSID。请注意,Windows会回收进程ID,因此该字段可能指向不存在的进程或与当前进程无关的另一个进程。请参阅。

上的MS文档,如何确定您想要哪一个?按PID?每次都不一样吗?使用最多内存的那个?你说要“过滤”PID是什么意思?你能给我们一个预期输出的例子吗?我已经在描述符中添加了进程之间的关系,因为它比Parent.exe->abc.exe->abc.exe更形象化。假设较高的PID是孙子或否是否安全?或者,您是否可以简单地根据获取parentProcessID并将其与另一行进行比较?否父进程具有较高PID的假设在任何时候都是无效的。或者,即使有办法找到parent.exe的孙子进程的PID,也可以这样做。但我不知道有什么。