У меня есть сценарий PowerShell, запущенный на удаленной машине. У меня есть запись данных в текстовый файл, когда он завершает свою работу. После этого он записывает определенную строку.Powershell для мониторинга текстового файла
У меня есть это в локальном сценарии PS контролировать этот файл на удаленном компьютере:
Get-Content -Path $Path -Tail 0 -Wait
Это работает замечательно, но как я могу сказать, что это, чтобы остановить мониторинг один раз, что конкретная линия будет достигнута?
Я устал вкладывать его в цикл do while, но он никогда не выпускает, чтобы закончить работу.
Вот ссылка на более простую версию того, что я спрашиваю:
How to monitor a text file in realtime
Первый ответ хорош, но я не хочу, чтобы просто посмотреть на определенную линию я хочу написать их все VIA-записи-хосты до этой фразы затем перейдут с get-content и продолжат работу с оставшимися частями скрипта.
ОБНОВЛЕНИЕ: вот что я, наконец, закончил. Это не очень из-за того, как я вышел из объекта foreach.
Get-Content -Path $path -Tail 0 -wait | ForEach-Object{if($_ -match $word){write-host "- $_" ;cjklnsrvf } else {write-host "- $_"} }
Я использовал Try and Catch для cjklnsrvf в выражении if выше. Это делается потому, что ForEach-Object не может использовать инструкции break или continue. Кажется, что при конвейере цикла ForEach он превращается в (псевдоним) командлет ForEach-Object. Командлет ForEach-Object не использует команды break и continue, как цикл foreach. Если вы используете разрыв в объекте ForEach-Object, он немедленно выйдет из всего скрипта. На одном сайте был один парень, который вызвал гибель мусора, и он действительно работает здесь.
Благодаря тем, которые помогли. и остальное .. хорошо .. вы знаете
Сделайте это 2 голосов. Переполнение стека не является кодировкой. Ослепите сообщество тем, что вы уже пробовали, и тем, что вы исследовали. Зачем кому-то писать ваш код для вас, если вы не проявляете никаких усилий с вашей стороны, чтобы решить свою проблему? – dfundako
, потому что я не могу поделиться кодом! Мне пришлось бы потратить три часа, чтобы переписать его только для того, чтобы вы его увидели, и тогда это не будет делать то, что я делаю. Это просто, что у меня есть сценарий, записывающий данные в файл, мне нужно его прочитать, пока он доходит до определенной строки ... Нет документации по -tail или -wait и piping, если инструкции не работают ... – reddragon72