gpt4 book ai didi

powershell - 带有 ScriptBlock 的 Group-Object 的意外行为

转载 作者:行者123 更新时间:2023-12-02 23:38:00 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Group-Object, get counts

(2 个回答)


5个月前关闭。




我正在尝试使用 Group-Object 根据自定义计算对对象列表进行分组。一个非常简单的例子如下:

$groupedProjects = 1..10 | %{
[PSCustomObject]@{
ErrorMessage = if ($_ % 2) { 'SomeError' } else { '' }
}
} | Group-Object -Property { if ($_.ErrorMessage) { 'Failed' } else { 'Successful' } } -AsHashTable

$successGroup = $groupedProjects['Successful']
# $successGroup is null here instead of a list with the integers.

问题是这些组不是由字符串键控,而是由其他东西键控 - 不确定我是否真的理解这个问题。

PS:使用脚本 block 见 documentation以这种方式:
1..35 | Group-Object -Property {$_ % 2},{$_ % 3}

所以我认为这个想法是有效的——使用整数而不是字符串也可以按预期工作。如果有更好的方法来完成上述操作,我会全力以赴。

最佳答案

其他海报是正确的,问题在于 key 存储为PSObject。但是有一个内置的解决方案:使用 -AsString-AsHashTable 一起切换.这将强制将 key 存储为字符串。

我开了一个issue在 GitHub 上查看此错误。

关于powershell - 带有 ScriptBlock 的 Group-Object 的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50486981/

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