使用保存在文本文件中的单词列表来搜索字符串 - powershell

时间:2017-08-29 16:52:26

标签: shell powershell text-files

我有一个搜索字符串的脚本(在本例中为“结束程序”)。然后它遍历文件夹中的每个文件并输出不包含该字符串的任何文件。

当短语是硬编码时,它可以很好地工作,但我想通过创建一个文本文件来保存字符串,使其更加动态。将来,我希望能够在文本文件中添加字符串列表。我无法在任何地方找到这个,所以任何帮助表示赞赏。

当前代码:

$Folder = "\\test path"
$Files = Get-ChildItem $Folder -Filter "*.log"| ? {$_.LastWriteTime -gt (Get-Date).AddDays(-31)} 

#String to search for within the file
$SearchTerm = "*End program*"

ForEach( $File in $Files)
{
    $Text = Get-Content "$Folder\$File" | select -Last 1

    If ($Text | WHERE {$Text -inotlike $SearchTerm} )
    {  
        $Arr += $File                         
    }
}
if($Arr.Count -eq 0)
{
    break
}

这是代码的简化版本,仅显示有问题的区域。我想在文本文件中添加“结束程序”和另一个字符串“结束”。

以下是该文件的内容:

*End program*, *Start*

0 个答案:

没有答案