我有一個腳本搜索字符串(在這種情況下「結束程序」)。然後它遍歷文件夾中的每個文件並輸出任何不包含該字符串的文件。使用txt文件作爲列表PowerShell陣列/變量
當這個短語被硬編碼時,它可以很好地工作,但是我想通過創建一個文本文件來保存字符串來使它更加動態。將來,我希望能夠添加到文本文件中的字符串列表中。我無法在任何地方在網上找到此,所以任何幫助表示讚賞。
當前代碼:
$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*
因此,基本上你想要使用一些搜索條件的文件,並且你想枚舉所有不包含這些條款的文件? –
我想你可以使用'Get-Content'從文本文件中獲取值。您只需要知道文本文件的名稱或名稱的模式,並使用'Get-ChildItem'來掃描文本文件的目錄。 –
@AnsgarWiechers是的,這就是我需要做的。 – agfila