2015-11-02 105 views
0

獲得值我有數據從另一個命令的輸出從電源外殼管道

testCommand未來將打印這樣的事情

a: 1 
b: test 
c: an3 

我希望到grep的特定屬性testCommand | findstr 'a',打印a: 1的價值。

但我想提取值1。無法弄清楚的方式!如果如果你與=更換:輸出不存在打印默認值default

+0

查找如何使用' - 拆分「並使用它來分割冒號。您可能還希望在'findstr'上使用'Select-String',以便將所有內容保存爲PowerShell對象。 – arco444

+3

什麼是testCommand發送管道?如果是字符串,則有更好的方法進行過濾,如果是對象,則將其作爲對象進行處理。 – Richard

+0

@理查德,這是字符串。這不是預定義的PS功能或任何東西。這是自定義'bat'文件正在將數據打印到控制檯 – Reddy

回答

1

,你可以把它管道到ConvertFrom-StringData,並得到一個不錯的哈希表來代替:

$values = testCommand 
$ValueTable = $values -replace ": ","=" |ConvertFrom-StringData 
$ValueTable["a"] # this will return the value "1"