gpt4 book ai didi

arrays - 如何从powershell中的对象列表中获取特定字段的列表

转载 作者:行者123 更新时间:2023-12-02 22:36:01 25 4
gpt4 key购买 nike

我是 PowerShell 脚本的新手。抱歉,如果我遗漏了一些简单的东西。

假设我有一个名为 object 的对象有一个名为 field 的字段.现在让我们列出这些对象。

我将如何以相同的顺序获取字段列表?

在python中它将是:

list_of_objects = [o1, o2, o3]
list_of_fields = [i.field for i in list_of_object]

最佳答案

很好,但不是很好,因为它为您打开了集合,有时这可以隐藏它正在掩盖元素的成员。当您使用 $parents.item ,您正在访问数组的方法,并尝试访问其成员(没有任何成员,因此 给您 $null ):

Item           ParameterizedProperty System.Object IList.Item(int index) {get;set;}

您可以通过使用我在评论中分享的方法迭代每个成员并避免这种屏蔽来克服这个问题:
$list = $parents | ForEach-Object -MemberName item
$list.registration.parentCompoundNumber

或者,更多人熟悉的语法:
$list = $parents | Select-Object -ExpandProperty item

或自己展开:
# you could directly assign the outputs of a `foreach` loop to a variable by
# removing these comments (<##>)
<# $items = #>
foreach ($parent in $parents) {
$parent.item.registration.parentCompoundNumber
}

要查看此屏蔽何时发生,请考虑以下使用一元数组运算符的示例:
, @('a', 'b', 'c') | Get-Member

这将让您观察包装数组或集合的成员。

关于arrays - 如何从powershell中的对象列表中获取特定字段的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423388/

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