Powershell变量的输出

时间:2019-01-31 08:14:23

标签: powershell variables header output

[使用ISE]

我有:'$($udvTest | Select ProcessName -Last 1)',其中$udvTest包含5个进程,这些成员来自Get-Process

我得到以下3行:

ProcessName
-----------
svchost

但是我只希望将字符串“ svchost”作为输出(例如用于进一步处理)。我忽略了PS提出的这个小小的支持似乎太可笑了吗?

4 个答案:

答案 0 :(得分:1)

(Get-Process | Select-Object -Last 1).ProcessName

可以解决问题,或者举个例子:

$(($udvTest | Select -Last 1).ProcessName)

答案 1 :(得分:0)

纯Powershell方式如下:

Get-Process | Select-Object -ExpandProperty ProcessName -Last 1

或对于您的特定示例:

$udvTest | Select-Object -ExpandProperty ProcessName -Last 1

答案 2 :(得分:0)

“ PS看起来太可怕了”

实际上,您看到一个信息表这一事实暗示着有关PowerShell的最好的事情之一:对象。这些使您的生活比直接文本操作容易得多。

无论如何,一种获取所需信息的方法是:

$udvTest[-1].ProcessName

由于$udvTest是一个数组,因此您可以对其进行索引以查找所需的项目。如果您提供一个负索引,PowerShell将从头到尾进行计数,因此[-1]表示采用最后一项。

.ProcessName是您正在处理对象的另一个指示器,它将为您获取ProcessName属性的值。

答案 3 :(得分:0)

非常感谢!现在,我看到我必须给属性“ ProcessName”以获取其纯值。最好!

相关问题