使用PowerShell中的一组命令将哈希表管道字符串传递给过滤值?

时间:2017-10-22 02:07:29

标签: powershell

我有一个类似于$Str = "green=1,red=2,blue=3"的字符串,我希望得到红色的值。

下面我有一个两个变量的解决方案,但我希望有一种方法可以将其输出传递给另一个命令,但我继续遇到“表达式只允许作为管道的第一个元素”而且我没有运气搞清楚我是否可以使用选择或某种方式。

$final = $str -split ',' | convertfrom-stringdata
$final.'red'

有没有办法在一个命令序列中运行这一切?像$final = $str -split ',' | convertfrom-stringdata | $final.'red'

这样的东西

1 个答案:

答案 0 :(得分:0)

这是通常的方法:

$final = ($str -split ',' | convertfrom-stringdata).'red'

由于哈希表在管道中的工作方式,你也可以在下面做,但我会避免使用它,因为将来很难告诉你打算在这里发生什么:

$final = $str -split ',' | convertfrom-stringdata | ForEach-Object { $_.'red' }