首页 > 解决方案 > 如何将命令中的标准输出添加到哈希数组?

问题描述

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

我想从几个命令结果构建一个 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)

标签: powershell

解决方案


不必使用 hashtable::Add 方法。该值也可以通过赋值添加:

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

这将执行 $ImageInfo 中定义的命令,并且 stdout 内容获取 key 的值Name


推荐阅读