使用powershell脚本过滤文件的内容

时间:2012-09-24 23:22:25

标签: regex powershell scripting filter pid

我在文本文件中有以下内容:

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

1 个答案:

答案 0 :(得分:1)

什么工具生成文本文件?你能修改生成过程信息表的工具吗?

不会使用Get-Process cmdlet收集进程父/子层次结构。请考虑使用Get-WMIObject win32_process,因为其输出包含父进程的字段,恰当地命名为ParentProcessId。请注意,Windows会回收进程ID,因此该字段可能指向不存在的进程或另一个与手头进程无关的进程。请参阅MSDN上的MS文档。