gpt4 book ai didi

powershell - 自定义表输出清除-格式化数组值的属性

转载 作者:行者123 更新时间:2023-12-03 00:46:56 24 4
gpt4 key购买 nike

我的一支类轮看起来像:

get-vm vm* |select name, numcpu,memoryGB,@{e={$_|get-harddisk |select capacityGB};l="disk"}

我的输出看起来像:
Name            NumCpu MemoryGB disk
---- ------ -------- ----
vm1 4 96 {@{CapacityGB=60}, @{CapacityGB=300}, @{CapacityGB=200}}
vm2 8 98 {@{CapacityGB=50}, @{CapacityGB=450}}
vm3 8 96 {@{CapacityGB=200}, @{CapacityGB=50}, @{CapacityGB=300}}
vm4 2 12 {@{CapacityGB=100}, @{CapacityGB=50}}

我如何清理该输出以仅显示磁盘大小数字而不显示所有 @{capacityGB= }

最佳答案

立即修复是使用select -ExpandProperty capacityGB:

get-vm vm* |select name, numcpu,memoryGB,@{e={$_|get-harddisk |select -ExpandProperty capacityGB};l="disk"}

这将导致类似:
Name            NumCpu MemoryGB disk
---- ------ -------- ----
vm1 4 96 {60, 300, 200}
-ExpandProperty表示仅应返回指定属性的值,而不是具有指定属性的自定义对象,这是 @{CapacityGB=60}在输出中表示的内容。

请注意,PowerShell:
  • 使用封闭的{ ... }表示数组值属性
  • 如果将各个元素强制转换为 [string](或在双引号字符串中使用),则
  • 表示为单个元素。

  • 如果输出仅用于显示,并且您希望使用其他格式,请在脚本块内构建自己的输出字符串,如 Frode F.'s helpful answer所示。

    关于powershell - 自定义表输出清除-格式化数组值的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42402133/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com