2012-04-29 9 views
1

私は-replaceの周りに頭を抱えようとしています。誰か助けてくれますか?練習として-replaceを使用したフィルタ

、私は単にフィルタリングしようとしています:

@{processName=chrome} 

chromeが、私はそれが出力しようとしているリストボックスに返されるように。

これまでのところ、私が持っている:

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

私は私が何か間違ったことをやっている知っている、誰かが正しい方向に私を指すと理由下さい説明することができますか?

答えて

2

と交換したいことを言っている:

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

-replaceを使用するには、オブジェクトを渡す必要があります。だから、仕事へのあなたのコマンドのために:あなたはforeachループにそれらを渡す必要が操作するためのパイプの下、複数のオブジェクトを渡すとき


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

覚えておいてください。あなたは、私が$_値を取り、^@processname=を探し、最終的}せずにプロセス名を持っているために、これを試してみてくださいblank

+0

ああ、私は参照してください。ありがとうございました – obious

2

あなたは置き換える使用せずに、プロセス名を取得することができます操作:

Get-Process | Select-Object -ExpandProperty Name 

はちょうどクロムプロセスを取得するには

関連する問題