如何在PowerShell中枚举Format-Table条目?

时间:2015-11-13 19:17:13

标签: powershell

我有一个哈希数组,我希望将该数组格式化为一个表,枚举每个条目而不实际添加哈希项以包含此信息。 E.g。

$id = 0
$items = @( @{ item='a' }, @{ item='b' }, @{ item='c' })
$items |
 %{ new-object PSObject -Property $_ } |
  Format-Table @{ n=""; e={ "{0}" -f ++$id }; a="left" },item

我期待:

  item
- ----
1 a   
2 b   
3 c   

但得到:

  item
- ----
1 a   
1 b   
1 c   

1 个答案:

答案 0 :(得分:3)

似乎$id按值传递。需要使用[ref]强制它作为参考,它会起作用。 E.g:

[ref]$id = 0
$items = @( @{ item='a' }, @{ item='b' }, @{ item='c' })
$items | %{ new-object PSObject -Property $_ } |
 Format-Table @{ n=""; e={ "{0}" -f ++$id.value }; a="left" },item