Я много искал, методом проб и ошибок. Я думал, что это будет простая задача, но мне не везет …
У меня есть файл .log (назовите его output.log), который автоматически обновляется программой. Каждый раз, когда в этом файле появляется определенный текст (назовите его «тест»), я хочу, чтобы запускалась программа или командный файл. Я также хочу, чтобы он оставался открытым и запускал программу каждый раз, когда появляется текст.
Я использую Windows 10.
Я пробовал это:
powershell -command "select-string -path c:output.log -pattern "text" | "c:WindowsSystem32calc.exe"
Но он запускает вычисление независимо от того, есть ли совпадение для «текста» в файле или нет …
1 ответ
Почему нет:
@echo off
:loop_again
find/i "text" output.log >nul && ( %__AppDir__%calc.exe ) || (
%__AppDir__%timeout.exe /t 3 /NoBreak & goto :loop_again )
:loop_wait
%__AppDir__%timeout.exe /t 3 /NoBreak | echo=Please, wait!.
%__AppDir__%tasklist.exe /nh | find /i "calc.exe” >nul && (
goto :loop_wait ) || goto :loop_again
Вот мой результат: В строке: 1 символ: 36 + find / i «text» output.log> nul && «C: Windows System32 calc.exe» + ~~ Токен ‘&&’ не является допустимый разделитель операторов в этой версии. В строке: 1 символ: 39 + find / i «text» output.log> nul && «C: Windows System32 calc.exe» + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ Выражения разрешены только в качестве первого элемента конвейера. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: InvalidEndOfLine
— jeromes13
13 часов назад
@ jeromes13 это cmd, а не «powershell -command« …. »
— Это был не я
13 часов назад
Оно работает. Но я хочу, чтобы он постоянно отслеживался и выполнял программу с каждым последующим добавлением «текста» в файл .log. Имеет ли это смысл?
— jeromes13
13 часов назад
@ jeromes13 Я добавлю некоторые объяснения, насколько это возможно, и протестирую тоже. Это пишет в моем чел, поэтому не проверено.
— Это был не я
12 часов назад
Взгляни на Следите за изменениями в файле и запустите команду с помощью powershell. Вы хотите реализовать FileSystemWatcher следить за вашим
.logфайл.— Кит Миллер
8 часов назад
Показать 1 больше комментариев