Я пытаюсь создать пакетный файл, который будет идти в каталог и искать файлы журнала, а затем искать файлы журнала, чтобы увидеть, находится ли слово «ОШИБКА:» в начале строки. Эту часть я понял. Теперь моя проблема заключается в попытке создать строку отображения, чтобы показать, в каком каталоге я нахожусь с *.log после него.
Например
-------c:\temp*.log-----------------
--c:\temp\temp1.log
--c:\temp\temp2.log
ОШИБКА: временная ошибка
-------c:\temp\subdir*.log-----------------
--c:\temp\subdir\temp3.log
ОШИБКА: это ошибка
--c:\temp\subdir\temp4.log
Это код, который я сейчас использую
Set _OutFile=c:\temp\check_error.txt
If Exist "%_OutFile%" Del "%_OutFile%"
For /F "Tokens=* Delims=" %%I In ('Dir /b "c:\temp\*.log"') Do (
(Echo.
Echo.---------- %%~I
)>>"%_OutFile%"
Findstr /B /C:"ERROR:" "%%I">>"%_OutFile%"
)
Это произведет только
---------- TempData.log
Он не показывает основной путь или путь к файлам.