gpt4 book ai didi

sorting - PS对象排序

转载 作者:行者123 更新时间:2023-12-02 21:33:36 24 4
gpt4 key购买 nike

我正在尝试格式化与几天前的问题相关的 PSObject。我的对象如下所示:

New-Object PSObject -Property @{
"Version"= $winVersion.Caption
"Processor Name" = $processorInfo.Name
"Processor Manufacturer" = $processorInfo.Manufacturer
"Processor Max Clock Speed" = $processorInfo.MaxClockSpeed
} |format-list

上面给出了以下输出:

Processor Manufacturer    : GenuineIntel
Processor Max Clock Speed : 2201
Version : Microsoft Windows 8 Pro
Processor Name : Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz

但是,这个:

New-Object PSObject -Property @{
"Windows Version"= $winVersion.Caption
"Processor Name" = $processorInfo.Name
"Processor Manufacturer" = $processorInfo.Manufacturer
"Processor Max Clock Speed" = $processorInfo.MaxClockSpeed
} |format-list

给出以下输出:

Processor Manufacturer    : GenuineIntel
Processor Max Clock Speed : 2201
Processor Name : Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
Windows Version : Microsoft Windows 8 Pro

没什么大不了的,但我想知道为什么格式会改变?无论如何,它似乎都不是按字母顺序排列的。此外,我尝试使用 Sort-Object (从 A-Z)对对象进行排序,但无济于事。与字符串相关吗?

最佳答案

hashtable 的顺序无法预测 ( in PowerShell V3.0 you can user the [ordered] accelerator to make an hashtable ordered ),但在 V2.0 中,您需要像这样构建自定义对象以保留属性顺序:

$o = New-Object PSObject
$o | add-member Noteproperty "Version" $winVersion.Caption
$o | add-member Noteproperty "Processor Name" $processorInfo.Name
$o | add-member Noteproperty "Processor Manufacturer" $processorInfo.Manufacturer
$o | add-member Noteproperty "Processor Max Clock Speed" $processorInfo.MaxClockSpeed

$o | format-list

关于sorting - PS对象排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825419/

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