Следующее даст вам то, что вы хотите. Сначала я взял содержимое txt-файла и поместил его в переменную $doc
.
Затем, используя встроенную функцию «текстового» поиска powershell, я ищу строку, содержащую «Доброе утро», и если это так, то с помощью регулярных выражений я беру все содержимое между начальным и конечным текстом и создаю новый текстовый файл с этим содержимым. Ниже приведен код.
$doc = Get-Content C:\Scripts\test.txt
if(Select-String -InputObject $doc -Pattern "Good Morning" -SimpleMatch){
$contents = [regex]::Match($doc,'(?is)(?<=\b\d: Start\b).*?(?=\b\d: End\b)')
New-Item -Path C:\Scripts -Name newtest.txt -ItemType File -Value $contents
}
Else{
Write-Host "Nothing Found"
}