我正试图绕过-replace
。有人能帮助我吗?
作为练习,我试图简单地过滤:
@{processName=chrome}
这样chrome
将返回到列表框,我正在尝试将其输出到。
到目前为止,我有:
$processnames = Get-Process | select ProcessName | -replace '^@{processname=',''
我知道我做错了什么,有人能指出我正确的方向并解释为什么会这样吗?
答案 0 :(得分:2)
尝试使用此过程名称,而不是最终}
:
$Processnames = Get-Process | Select ProcessName | foreach { $_ -replace '^@{processname=(.*)}' , '$1' }
答案 1 :(得分:2)
您可以在不使用替换操作的情况下获取进程名称:
Get-Process | Select-Object -ExpandProperty Name
要获得Chrome流程:
Get-Process chrome | Select-Object -ExpandProperty Name
答案 2 :(得分:1)
使用-replace要求您传递一个对象。所以为了你的命令工作:
$Processnames = Get-Process | Select ProcessName |
foreach {$_ -replace '^@{processname=',''}
请记住,当您将多个对象传递到管道以进行操作时,您必须将它们传递到foreach
循环中。您告诉我我想获取$_
值并查找^@processname=
并将其替换为blank