我是Powershell脚本的新手。我正在编写一个power-shell脚本,我在其中声明了如下的哈希表:
$a = 1
$b = 2
$my_hash = @{}
$my_hash.Add($a, $b)
当我在Powershell中打印表时,哈希表的标题显示
Name Value
---- -----
1 2
如何更改"名称,值和#34;中每列的名称?类似于" Application1,Application2"? 即。
App1 App2
---- -----
1 2
感谢帮助!
答案 0 :(得分:3)
将哈希表传递给Select
命令,并动态构建输出,例如:
$My_Hash.keys | Select @{l='App1';e={$_}},@{l='App2';e={$My_Hash.$_}}
答案 1 :(得分:3)
在TheMadTechnician's example上构建,您可以创建一个通用函数来重命名“columns”:
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}}
}
然后称之为:
PS C:\> $my_hash |Format-Hashtable -KeyHeader App1 -ValueHeader App2
App1 App2
---- ----
1 2