iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору HENDELF Найденный вами скрипт проверяет раз в 5 секунд файл error.log на наличие строк со словом error и если есть искомые строки, сохраняет их в файл error.txt Добавил комментарии, как я понимаю, что происходит Код: # Создаётся объект для хранения строк $data = New-Object System.Text.StringBuilder # Создается задача, которая читает файл error.log и отбирает строки содержащие слово error $job = Start-Job {Get-Content -Path "c:\прикладуха\error.log" -Wait | Where-Object {$_ -like '*error*'}} # Цикл пока у задания есть вывод (строки содержащие слово error) while($job.HasMoreData) { # Запускает задачу и записывает результат в переменную temp $temp = $job | Receive-Job | Out-String # Если в temp что то есть if($temp) { # Добавляет содержимое переменной temp в файл error.txt $temp | Add-Content c:\tmp\error.txt # Добавляет строку, содержимое переменной temp, в объект для хранения строк $data.AppendLine($temp) | Out-Null } # Скрипт засыпает на 5 секунд Start-Sleep 5 } # После цикла # Вывод объекта для хранения строк (накопленные в цикле строки со словом error) $data.ToString() # Остановка задачи, удаление задачи Stop-Job $job | Remove-Job | Видимо надо заменить файл источник: "c:\прикладуха\error.log" на ваш "тест1.тхт" Искомое в файле: -like '*error*' на поиск цифры, что то типа -match "\d" Файл для сохранения заменить: c:\tmp\error.txt на АкаунтОк.тхт Строки с $data в принципе не обязательны. Работу скрипта не проверял, только умозрительно |