![]() |
поиск новой строки в тхт файле
Добрый день,
Подскажите, возможно ли через cmd реализовать контроль за тхт-шником (точнее лог файлом) чтобы при появлении в файле определенной записи запускалось другое приложение/сценарий (почтовый клиент, рестарт машины и т.п.) ? Может уже есть готовое решение, но что-то с гуглом в последнее время не дружу. |
Размер лог-файла. Пример лог-файла. Частота проверки.
|
Если "по-простому", то как-то так:
Код:
@findstr /i "определённая запись" log.txt>nul&& start "" notepad|| call "%~f0" |
Georgio, полагаю, что в коде не хватает скобок.
Код:
@findstr /i "определённая запись" log.txt && (start "" notepad) || (call "%~f0") |
Georgio, при «call …» исчерпается глубина вложенности.
|
Скобки в данном случае не обязательны, а вот команду "call" действительно лучше заменить на "старую добрую" команду "goto" и добавить префикс "/c:" к ""определённая запись"":
Код:
:# Могут быть проблемы, если файл "log.txt" постоянно открыт в программе на запись, тогда лучше работать с постоянно создаваемой копией. |
Вложений: 1
размер в пределах 1 Мб
Частота проверки один-два раза в минуту |
Georgio, call можно просто убрать. Ещё со времён ДОСа такой вызов отрабатывался, как вызов без возврата.
То есть, командная строка Код:
file.bat Поэтому так: Код:
@findstr /i "определённая запись" log.txt && (start "" notepad) || ("%~f0") Код:
echo Wscript.Sleep 5000>"%temp%\sleep5.vbs" |
Цитата:
Код:
"%~f0" Код:
cmd /c "%~f0" Главное, чтобы не Код:
%0|%0 |
Время: 00:04. |
Время: 00:04.
© OSzone.net 2001-