Заметки о Windows и других программных продуктах Microsoft...

Отслеживаем изменения файла в реальном времени

Отслеживаем изменения файла в реальном времени

Предположим, у вас возникла необходимость отследить в режиме реального времени изменения в текстовом файле, например в логе веб-сервера. В операционных системах Linux для этой цели есть замечательная утилита Tail, которая умеет показывать текущие изменения в текстовом файле. А есть ли что нибудь похожее в Windows?

Конечно есть. Ведь в Windows есть PowerShell, с помощью которого можно решить практически любую задачу. Для вывода содержимого файла в PowerShell используем командлет Get-Content с двумя интересными параметрами:

-Wait — при использовании этого параметра команда не завершает свою работу после вывода содержимого файла, а каждую секунду проверяет файл на наличие изменений и при добавлении новых строк выводит их;
-Tail — количество строк в файле, начиная с конца, которые надо вывести. Например -Tail 10 вернет последние 10 строк файла. Если в качестве значения поставить 0, то будут выводиться все новые строки. Вместо -Tail можно использовать его алиас -Last;

Таким образом для отслеживания изменений файла в реальном времени можно использовать такую команду:

Get-Content test.txt -Wait -Tail 0

запуск команды tail

 

Команда запускается и ждет, а при появлении в файле новых строк немедленно выводит их на экран. Для прекращения работы команды надо нажать Ctrl+C или просто закрыть консоль.

вывод команды tail

 
 
Комментарии

Пока нет комментариев.