Оболочка окна - вывод журнала, если найденный текст в файлах - PullRequest
0 голосов
/ 29 мая 2019

Чтобы найти текст в файле, вы можете использовать следующий код

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

1 Ответ

0 голосов
/ 29 мая 2019

Вот решение, которое я нашел.

Если вам не нужно для вывода имени файла

@echo off
(findstr /MIC:"string to find" *.txt>Nul && (
echo "Found") || echo "Not found") >> log.txt

Если вам нужно для вывода имя файла

@echo off
(for %%A in (*.txt) do findstr /MIC:"string to find" "%%A">Nul&&(
echo %%A "Found") || echo %%A "Not found") >> log.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...