gci(get childitem)如何打印文件内容?

时间:2012-09-05 09:16:57

标签: powershell

在网上搜索Powershell的findstr等效项我发现this site,建议使用Cmdlet gci(获取子项)和select-string。但是,gci不会打印文件的内容,而是打印目录内容。在这种情况下流水线的工作原理如何,gciselect-string如何过滤文件的内容(不首先将其压缩到get-content)?

2 个答案:

答案 0 :(得分:5)

Select-String接受管道输入。管道FileInfo对象时,它们绑定到InputObject参数。以下两个命令是等效的:

PS> Get-ChildItem C:\test.txt | Select-String -Pattern logfile

PS> Select-String -InputObject (Get-ChildItem C:\test.txt) -Pattern logfile

答案 1 :(得分:3)

select-string cmdlet从管道中接收System.IO.FileInfo对象。因此,它能够确定其参数的哪一部分是文件名,哪些是要查找的字符串。请参阅Technet上的Select-string