Чтобы найти текст в файле, вы можете использовать следующий код
findstr /MIC:"string to find" "path of file"
Задача
Как вывести другую строку, если найден / не найден текст. Нечто вроде ниже.
if (find "string" "path") (
echo "Found" >> log.txt
) else (
echo "Not Found" >> log.txt
)
Конкретная проблема
У меня есть пакет текстовых файлов (* .html), который может содержать один из следующих текстов
...
<div class="status_item">This feature has been configured and is functioning properly. All status tests have passed.</div>
...
OR
...
<div class="status_item">This feature failed to configured and not working properly. Please contact your administrator.</div>
...
Мне нужно периодически запускать сценарий оболочки, чтобы проверить состояние и вывести результат в файл журнала (log.txt). Пример показан ниже.
....
Wed 05/29/2019 foo.html 10:00:00.00 Normal
Wed 05/29/2019 bar.html 10:01:00.00 Normal
Wed 05/29/2019 bar.html 10:02:00.00 Abnormal
Wed 05/29/2019 foo.html 10:03:00.00 Normal
Wed 05/29/2019 foo.html 10:04:00.00 Normal
...
Специальное решение
@echo off
(for %%A in (*.html) do findStr /MIC:"functioning properly" "%%A">Nul&&(
echo %date% %time% %%A Normal) || echo %date% %time% %%A Abnormal) >> log.txt