В прошлом, когда я использовал следующее в Windows PowerShell ISE, для поиска в папке, содержащей большое количество текстовых файлов, поиска строк, содержащих указанный текст, и возврата этих строк в новый текстовый файл.
Param (
[Parameter(Mandatory=$true)]
[string] $FullyQualifiedPath
)
$OutputFile = "Output File Pathway"
$FullyQualifiedPath = "Search Files Pathway"
$Pat1 = [regex] 'Search For This Text'
Remove-Item "$OutputFile"
Get-ChildItem -Path "$FullyQualifiedPath" |
Get-Content | Select-String -Pattern $Pat1 -AllMatches >> "$OutputFile"
Пока все работает отлично.Тем не менее, я теперь озадачен попыткой получить тот же эффект, но с несколькими шаблонами.
Я пробовал следующее:
Param (
[Parameter(Mandatory=$true)]
[string] $FullyQualifiedPath
)
$OutputFile = "Output File Pathway"
$FullyQualifiedPath = "Search Files Pathway"
$Pat1 = [regex] 'Search For This Text'
$Pat2 = [regex] 'Search For This Text As Well"
Remove-Item "$OutputFile"
Get-ChildItem -Path "$FullyQualifiedPath" |
Get-Content | Select-String -Pattern $Pat1 -AllMatches >> "$OutputFile"
Get-Content | Select-String -Pattern $Pat2 -AllMatches >> "$OutputFile"
Но это возвращает:
Search For This Text
Search For This Text
Search For This Text
Search For This Text As Well
Search For This Text As Well
Search For This Text As Well
В отличие от моего требуемого:
Search For This Text
Search For This Text As Well
Search For This Text
Search For This Text As Well
Search For This Text
Search For This Text As Well
Есть ли в любом случае, я могу получить его для вывода по мере необходимости?
Я совсем не знаком с этим языком, иОригинальный код пришел из онлайн-источника.Любая помощь с этим будет принята с благодарностью!