管道文件以获取内容

mic*_*ver 5 powershell

我试图使用powershell递归地找到一行代码.

要在已知文件中查找"TODO"行,我可以这样做:

get-content ActivityLibrary\Accept.cs | select-string TODO
Run Code Online (Sandbox Code Playgroud)

但我不想显式键入每个目录\文件.我想从get-childitem管道一系列文件名,如下所示:

gci -filter *.cs -name -recurse | gc | select-string TODO
Run Code Online (Sandbox Code Playgroud)

但后来我看到了这个错误:

Get-Content:输入对象不能绑定到comman d的任何参数,因为该命令不接受管道输入或输入及其属性与接受管道输入的任何参数都不匹配.在行:1字符:37

我究竟做错了什么?

Sha*_*evy 8

您需要删除-Name开关.它只输出文件名,而不是文件对象.您也可以直接管道到Select-String并删除'gc'.