如何使用PowerShell脚本搜索文件中的单词

时间:2016-02-20 07:22:39

标签: full-text-search powershell-v2.0 powershell-v4.0

我有350个文件夹的列表,每个文件夹都有一个文件访问日志。我需要搜索所有350个文件夹下的所有350个文件以获取名称" Hound"并显示包含名称" Hound"的文件夹名称。在他们的访问日志文件中。 下面是我的代码,有人可以帮助我在这里添加什么来获得所需的输出,好吗?

   #List all the folders in C:\testfolder
   $folders = (Get-ChildItem -Path "C:\testfolder" | Where-Object{$_.Attributes -eq "Directory"} | Select Fullname)

   #looping all folders
   Foreach ($folder in $folders)
   {

   #Here I need to look for the word "Hound" inside the Access.log file and if the word is there, it should display the name of the $folder which has the word
   }

1 个答案:

答案 0 :(得分:1)

这是一个相当基本的方法:

Get-ChildItem -Path d:\testfolder -Recurse | Select-String -Pattern "Hound"

如果您需要确保仅搜索名为access.log的文件,请指定过滤器:

Get-ChildItem -Path d:\testfolder -Include "access.log" -Recurse | Select-String -Pattern "Hound"