Предположим, у вас возникла необходимость отследить в режиме реального времени изменения в текстовом файле, например в логе веб-сервера. В операционных системах Linux для этой цели есть замечательная утилита Tail, которая умеет показывать текущие изменения в текстовом файле. А есть ли что нибудь похожее в Windows?
Конечно есть. Ведь в Windows есть PowerShell, с помощью которого можно решить практически любую задачу. Для вывода содержимого файла в PowerShell используем командлет Get-Content с двумя интересными параметрами:
-Wait — при использовании этого параметра команда не завершает свою работу после вывода содержимого файла, а каждую секунду проверяет файл на наличие изменений и при добавлении новых строк выводит их;
-Tail — количество строк в файле, начиная с конца, которые надо вывести. Например -Tail 10 вернет последние 10 строк файла. Если в качестве значения поставить 0, то будут выводиться все новые строки. Вместо -Tail можно использовать его алиас -Last;
Таким образом для отслеживания изменений файла в реальном времени можно использовать такую команду:
Get-Content test.txt -Wait -Tail 0
Команда запускается и ждет, а при появлении в файле новых строк немедленно выводит их на экран. Для прекращения работы команды надо нажать Ctrl+C или просто закрыть консоль.
Спасибо! Очень крутая связка! Обязательно найду применение в работе