仅提取和比较文件的某一列

时间:2018-01-06 22:24:32

标签: file powershell

我需要编写一个PowerShell脚本,允许用户传递一个txt文件,其中包含您从

获得的标准信息
Get-Process > proc.txt

语句作为参数,然后将文件中的进程与当前运行的进程进行比较。然后,我需要显示每个流程的ID,名称,开始时间和运行时间,这不是txt文件中的一个新流程。

为了让您大致了解我将如何做到这一点:我会

  1. 仅将txt文件中的进程名称提取为变量(v1)。
  2. 仅在变量(v2)中保存所有当前正在运行的进程的名称。
  3. 比较2个变量(v1v2)并将不在txt文件中的进程(新的进程)写入另一个变量(v3)。
  4. 获取v3中每个进程名称的进程ID,开始时间和运行时间,并将所有这些(包括名称)输出到控制台和新文件中。
  5. 首先,我怎样才能从txt文件中读取进程的名称?我试图在互联网上找到它,但没有运气。

    其次,我如何只保存变量中的新进程而不是所有差异(例如文件中但当前未运行的进程)。 据我所知,

    Compare-Object
    

    返回所有差异。

    第三,如何从v3中的所有流程名称获取我想要的剩余流程信息?

    最后,我怎样才能将ID,开始时间,运行时间和v3中的名称整齐地合并到一个文件中?

    我几乎是PowerShell编程的初学者,我很确定我上面发布的4步方法很可能是错误的,因此感谢我能得到的任何帮助。

1 个答案:

答案 0 :(得分:0)

你真的需要告诉我们你到目前为止所尝试的内容。如果不是,你会得到负面回应。所有这一切。

您已直接确定了自己的内容,甚至是如何实现目标的。所以,你可以很容易地编写一个代码块来实现这一点。

您需要做的就是在Microsoft Virtual Academy上进行快速PowerShell会话 https://mva.microsoft.com/liveevents/powershell-jumpstart

或Youtube,

https://www.youtube.com/results?search_query=beginning+powershell https://www.youtube.com/results?search_query=powershell+extract+data+from+text+file https://www.youtube.com/results?search_query=powershell+compare+data

和/或查看PoSH帮助文件以获取以下信息:

About_Variables
About_Arrays
Get-Content
Import-Csv
New-Item
Append-Content
Compare-Object

......你将参加比赛。

所以,请自己动手,回复你的想法,这里的人们会尽力帮助你。

更新 - 在Ansgar发布之前,我在屏幕上看到了这个。我没有看到您在之前的帖子中发布了相同类型的问题,表示您接受了他的回复。

同上,关于Ansgar评论你的3,4和最后两句,正如我在回复中所说的那样。