Если вы используете переключатель /M
с командой FINDSTR
, на выходе будут отображаться только имена файлов, в которых произошло совпадение:
FINDSTR /M /L /C:"matrix" "%log%" >> .\output.txt
Если вы хотите, чтобы вывод был точно таким же, как в вашем примере скрипта, вы можете попробовать следующий подход:
FINDSTR /M /L /C:"matrix" "%log%" > .\tmpoutput.txt && (
ECHO %DEV% --- matrix found: >> .\output.txt
) || (
ECHO %DEV% --- matrix not found >> .\output.txt
)
TYPE .\tmpoutput.txt >> .\output.txt
DEL .\tmpoutput.txt
То есть команда FINDSTR
ищет строку и выводит список файлов во временный файл. Если поиск был успешным, сообщение matrix found
печатается на .\output.txt
, в противном случае - matrix not found
.
После этого содержимое .\tmpoutput.txt
добавляется к output.txt
. (Вы можете не беспокоиться об этом шаге, если не было совпадения, потому что в этом случае временный файл будет пустым, что не повлияет на содержимое output.txt
.)