我有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
}
答案 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"