2012-04-29 90 views
1

我試圖讓我的頭在-replace。有誰能夠幫助我?過濾器使用替換

作爲練習,我想簡單地過濾:

@{processName=chrome} 

這樣chrome返回到列表框我想它輸出到。

到目前爲止,我有:

$processnames = Get-Process | select ProcessName | -replace '^@{processname=','' 

我知道我做錯事,可有人點我在正確的方向,並解釋爲什麼嗎?

回答

2

更換試試這個有進程名沒有最終}

$Processnames = Get-Process | Select ProcessName | foreach { $_ -replace '^@{processname=(.*)}' , '$1' } 
1

使用-replace需要您有一個傳遞給它的對象。因此,爲了使您的命令工作:


$Processnames = Get-Process | Select ProcessName | 
    foreach {$_ -replace '^@{processname=',''} 

當你路過多個對象沿管路來操作你必須將它們傳遞到一個foreach循環記住。你告訴它我要帶$_價值和尋找^@processname=blank

+0

啊我明白了。謝謝 – obious

2

您可以在不使用替代獲取進程名操作:

Get-Process | Select-Object -ExpandProperty Name 

得到公正的鍍鉻工藝:

Get-Process chrome | Select-Object -ExpandProperty Name