gpt4 book ai didi

powershell - 更改对象中列的顺序

转载 作者:行者123 更新时间:2023-12-04 16:15:41 24 4
gpt4 key购买 nike

如何更改我的代码产生的输出的列顺序:

$apps = Import-CSV apps.csv
$computers = Import-CSV compobj.csv
foreach ($computer in $computers) {
$computerLob = $computer.lob
$lobApps = $apps | ? {$_.lob -eq $computerLob }
foreach ($app in $lobApps) {
$computerHostname = $computer.hostname
$appLocation = $app.location
$installed=Test-Path "\\$computerHostname\$appLocation"
New-Object PSObject -Property @{
Computer=$computer.hostname
App=$app.appname
Installed=$installed
}
}

当前,它按以下顺序生成列: Installed,App,Computer

我想按以下顺序获取它: Computer,App,Installed

最佳答案

如果要确保对象的输出以特定顺序发生(即以某种方式格式化),请使用PowerShell的格式化命令。

$obj = [pscustomobject]@{Computer=$computer.hostname;App=$app.appname;Installed=$installed} 
$obj | Format-Table Computer,App,Installed

此外,您可以更好地控制输出,例如:
$obj | Format-Table Computer,App,Installed -AutoSize

或控制字段的宽度和对齐方式:
$obj | Format-Table @{label='Computer';expression={$_.Computer};width=20;alignment='right'},App,Installed

坦白地说,我认为使用格式化命令来获取所需的输出顺序是一种更好的做法,而不是依赖于创建属性的顺序。

关于powershell - 更改对象中列的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624597/

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