【问题标题】:Remove Blank Space From Output in PowerShell从 PowerShell 中的输出中删除空格
【发布时间】:2019-02-28 19:18:17
【问题描述】:

我正在开发用于监视特定程序正在使用的内存的代码,然后,如果内存太高,它将终止该进程。

我想知道如何在结果前后删除多余的空格,然后将内容放入变量中。

现在,代码正在运行,但它给我带来了一些空白。我知道这是因为 Format-Table -Hide 函数,但我不知道如何修复它。

例如:使用 Chrome 进程。

$Pmemory = Get-Process -Name chrome |
           Group-Object -Property ProcessName |
           Select @{n='Memory';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1MB)}} |
           ft -hide |
           Out-String

$Lmemory = 1000

毕竟,我要比较两个值,但我的主要问题是如何删除这些空格。

【问题讨论】:

  • “如何删除那些空格” 首先没有它们。将ft -Hide | Out-String 替换为Select-Object -Expand Memory。只有在向用户展示数据时才使用Format-* cmdlet。永远不要在打算/需要进一步处理数据时。
  • 非常感谢。它有效!

标签: powershell


【解决方案1】:

您必须从代码中删除 Format-Table 和 Out-String

这样

$Pmemory = (Get-Process -Name chrome |
           Group-Object -Property ProcessName |
           Select @{n='Memory';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1MB)}}).Memory

$Lmemory = 1000

输出:

PS C:\Windows\system32> $Pmemory
1.968

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 2015-11-22
    • 2022-01-14
    • 1970-01-01
    • 2017-11-03
    • 2016-04-24
    相关资源
    最近更新 更多