从电源外壳管道
问题描述:
获得值我有数据从另一个命令的输出从电源外壳管道
testCommand
未来将打印这样的事情
a: 1
b: test
c: an3
我希望到grep的特定属性testCommand | findstr 'a'
,打印a: 1
的价值。
但我想提取值1
。无法弄清楚的方式!如果如果你与=
更换:
输出不存在打印默认值default
答
,你可以把它管道到ConvertFrom-StringData
,并得到一个不错的哈希表来代替:
$values = testCommand
$ValueTable = $values -replace ": ","=" |ConvertFrom-StringData
$ValueTable["a"] # this will return the value "1"
查找如何使用' - 拆分“并使用它来分割冒号。您可能还希望在'findstr'上使用'Select-String',以便将所有内容保存为PowerShell对象。 – arco444
什么是testCommand发送管道?如果是字符串,则有更好的方法进行过滤,如果是对象,则将其作为对象进行处理。 – Richard
@理查德,这是字符串。这不是预定义的PS功能或任何东西。这是自定义'bat'文件正在将数据打印到控制台 – Reddy