如何将命令中的标准输出添加到哈希数组?

时间:2019-02-12 09:00:17

标签: powershell

如何将命令中的标准输出添加到哈希数组?

我想从几个命令结果中构建一个PS自定义对象。这可以通过以下方式实现。

[hashtable]$props = @{}
$tmp = & $ImageInfo -Name $fileName
$props.Add('Name', $tmp)
$info = New-Object -TypeName psobject -Property $props

由于要添加名称成员,所以我想跳过对$tmp变量的分配。但是我没有为此做一句话。这怎么可能?

这会导致“缺少表达式错误”:

$props.Add('Name', & $ImageInfo -Name $fileName)

1 个答案:

答案 0 :(得分:1)

没有必要使用hashtable :: Add方法。该值也可以添加赋值:

$props.'Name' = & $ImageInfo -Name $fileName

这将执行$ ImageInfo中定义的命令,并且stdout内容将进入键Name的值。