簡體   English   中英

PowerShell中的格式表:動態配置列

[英]Format-Table in PowerShell: dynamically configure columns

我嘗試在PowerShell中格式化二維表:

$ContentServeres.Keys | Sort-Object | Foreach-Object {
    $Columns += @{Label=$_; Alignment='right'}
}

$ClientServeres.Keys | Sort-Object | Foreach-Object {
    PROCESS {
        $obj = $ClientServeres.Get_Item($_)

        $serverOutObj = New-Object PSObject
        $serverOutObj | Add-Member NoteProperty Client ("$($_)`t`t")

        $ContentServeres.Keys | Sort-Object | Foreach-Object {
            $serv = $obj.Get_Item($_)
            $serverOutObj | Add-Member NoteProperty $_ ("{0:N0}" -f $serv.SumLength)
        }
        Write-Output $serverOutObj
    }
} | Format-Table $Columns -AutoSize

但這是行不通的。 我收到$ Columns錯誤:

InvalidArgument: (:) [Format-Table], NotSupportedException

我找到了一個樣本https://technet.microsoft.com/de-de/library/ee692794.aspx

$a = @{Label="ColA"; Alignment='right'}, @{Label="ColB"; Alignment='right'}
...
Format-Table @a ...

如何動態創建這樣的$ a列表?

我認為您正在嘗試將數據傳遞到Format-Table並同時將列作為參數。

將格式表放在不帶管道數據的新行中。

我發現了問題。 我已經用+ =收集了列定義,並得到了哈希表而不是數組。 應該使用+ =。

    $Columns += ,@{Label=$_; Alignment='right'}

但是還有另一個問題,應該定義表達式,但我還沒有找到如何動態地執行它的方法...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM