1

私は頭を動かそうとしてい-replaceます。誰か助けてもらえますか?

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

@{processName=chrome}

これchromeは、出力しようとしているリストボックスに返されます。

これまでのところ:

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

私は何か間違ったことをしていることを知っています。誰かが私を正しい方向に向けて、その理由を説明してもらえますか?

4

3 に答える 3

2

これを試して、最後のないプロセス名を付けてください}

$Processnames = Get-Process | Select ProcessName | foreach { $_ -replace '^@{processname=(.*)}' , '$1' }
于 2012-04-29T19:57:46.943 に答える
2

置換操作を使用せずにプロセス名を取得できます。

Get-Process | Select-Object -ExpandProperty Name

クロムプロセスだけを取得するには:

Get-Process chrome | Select-Object -ExpandProperty Name
于 2012-04-29T20:03:01.493 に答える
1

-replaceを使用するには、オブジェクトが渡されている必要があります。したがって、コマンドが機能するためには、次のようにします。


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

複数のオブジェクトをパイプに渡して操作する場合は、それらをforeachループに渡す必要があることを忘れないでください。$_あなたは私が価値を取り、それを探して^@processname=置き換えたいと言っていますblank

于 2012-04-29T19:42:20.320 に答える