如何将命令中的标准输出添加到哈希数组?
我想从几个命令结果中构建一个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)
答案 0 :(得分:1)
没有必要使用hashtable :: Add方法。该值也可以添加赋值:
$props.'Name' = & $ImageInfo -Name $fileName
这将执行$ ImageInfo中定义的命令,并且stdout内容将进入键Name
的值。