【问题标题】:Powershell Modify Select-Object Property Before OutputPowershell 在输出前修改 Select-Object 属性
【发布时间】:2020-04-24 12:43:53
【问题描述】:

我将如何从该 Select-Object 的 DiskAllocation 属性中删除前导“{Storage used:,”和尾随“}”,以便只保留大小?

例如:{存储消耗:, 48.62 MB} 变为 48.62 MB

我知道我需要用正则表达式做一些替换语句,但我是 Powershell 的初学者。任何帮助将不胜感激。

$DS | Select-Object -Property Computer, Name, ObjectType, DiskAllocation | Format-Table -AutoSize | Out-String | Write-Host -ForegroundColor Cyan

当前的输出如下所示:

【问题讨论】:

  • OP 现在可能已经实现了,但是对于从谷歌来到这里的任何人来说,这是一个经典的例子,说明很多人(包括我)在使用伯恩壳牌家族。人们需要改变思维方式,停止将事物视为需要处理的文本,而开始将事物视为具有属性的对象。

标签: regex powershell replace select-object write-host


【解决方案1】:

从输出来看,DiskAllocation 属性包含一个包含两项的数组 - 您只能选择具有计算属性的第二项:

Select-Object -Property Computer, Name, ObjectType, DiskAllocation, @{Name='DiskAllocation';Expression={$_.DiskAllocation[1]}}

【讨论】:

  • 你说得对,计算出来的属性正是我所需要的。我确实需要删除您在回答中的第一个“DiskAllocation”。我得到 Select-Object :无法处理该属性,因为属性“DiskAllocation”已经存在。一旦我把它拿出来,它就像一个魅力。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2017-12-16
  • 1970-01-01
  • 2015-10-04
  • 2022-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多