【问题标题】:Powershell variable's outputPowershell 变量的输出
【发布时间】:2019-01-31 08:14:23
【问题描述】:

[使用 ISE]

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

我得到以下 3 行:

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

但我只想要字符串“svchost”作为输出(例如,用于进一步处理)。是我忽略了什么,向 PS 索要的这个小忙看起来如此可怕?

【问题讨论】:

    标签: powershell variables header output


    【解决方案1】:
    (Get-Process | Select-Object -Last 1).ProcessName
    

    会做的伎俩或你的例子:

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

    【讨论】:

      【解决方案2】:

      纯粹的 Powershell 方式是这样的:

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

      或者对于您的特定示例:

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

      【讨论】:

        【解决方案3】:

        “PS 看起来好可怕”

        实际上,您看到信息表这一事实暗示了 PowerShell 的一大优点:对象。与直接操作文本相比,这些功能让您的生活更加轻松。

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

        $udvTest[-1].ProcessName
        

        由于$udvTest 是一个数组,您可以通过索引找到我们想要的项目。如果你提供一个负数索引,PowerShell会从头到尾计算,所以[-1]表示取最后一项。

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

        【讨论】:

          【解决方案4】:

          非常感谢!我现在看到我必须提供属性“ProcessName”来检索它的纯值。最好的!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-01-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多