Som celkom nový v skriptovaní Powershell. Píšem skript power-shell, v ktorom som deklaroval hašovaciu tabuľku takto:
$a = 1
$b = 2
$my_hash = @{}
$my_hash.Add($a, $b)
Keď tlačím tabuľku v Powershell, zobrazia sa záhlavia tabuľky hash
Name Value
---- -----
1 2
Ako môžem zmeniť názov každého stĺpca z „Názov, Hodnota“ na niečo ako „Aplikácia1, Aplikácia2“? Tj.
App1 App2
---- -----
1 2
Oceniť pomoc!
odpovede:
2 pre odpoveď č. 1Potrubie hashtable to a Select
príkaz a zostavte svoj výstup za chodu, napríklad:
$My_Hash.keys | Select @{l="App1";e={$_}},@{l="App2";e={$My_Hash.$_}}
2 pre odpoveď č. 2
Stavať na Príklad MadTechnician, môžete vytvoriť všeobecnú funkciu na premenovanie stĺpcov:
function Format-Hashtable {
param(
[Parameter(Mandatory,ValueFromPipeline)]
[hashtable]$Hashtable,
[ValidateNotNullOrEmpty()]
[string]$KeyHeader = "Name",
[ValidateNotNullOrEmpty()]
[string]$ValueHeader = "Value"
)
$Hashtable.GetEnumerator() |Select-Object @{Label=$KeyHeader;Expression={$_.Key}},@{Label=$ValueHeader;Expression={$_.Value}}
}
Potom ho zavolajte takto:
PS C:> $my_hash |Format-Hashtable -KeyHeader App1 -ValueHeader App2
App1 App2
---- ----
1 2