我搜索一个文件,例如主机文件:
cd c:\Windows\System32
gci -Recurse | ? {$_.Name -eq 'hosts'}
现在我想在notepad
中打开文件,所以我尝试了:
gci -Recurse | ? {$_.Name -eq 'hosts'} | notepad.exe $_.FullName
此错误。有没有办法做到这一点?
答案 0 :(得分:3)
notepad.exe
不接受管道 output 输入
Get-ChildItem -Recurse -ErrorAction SilentlyContinue |
Where-Object -FilterScript { $_.Name -eq 'hosts' } |
Foreach-Object -Process { notepad.exe $_.FullName }
我建议为此在get-childitem上使用-Filter。这将大大提高脚本的性能。 -@亚光
Get-ChildItem -Filter Hosts -Recurse -ErrorAction SilentlyContinue |
ForEach-Object -Process { notepad.exe $_.FullName }