2012-03-23 2 views
0

Я пытаюсь выполнить поиск в файле журнала (test1.txt) для сообщения об ошибке. В сообщении есть слово «ошибка». Поэтому, если я найду это слово, я выберу это предложение и поставлю его в переменной, поэтому я могу добавить все строки ошибок в одну переменную. Поэтому я могу использовать их для управления ими. Но как я могу заполнить переменную, я это сделал, но он принимает возрастов без результата:Findstr получение ответа на переменную

for /F "delims=" %%a in ('findstr /r /c:"^*.error.*" test1.txt') do set errorcode=%%a 
echo %errorcode% 

ответ

0

Ваш SET перезаписывает каждый раз, когда значение переменной, вы не добавлять тексты.
Btw Я вижу две проблемы, вы используете errorcode, но это также имя внутреннего уровня ошибок.
Второй проблемой может быть ограничение линии на 8191 символа. Переменная не может содержать больше символов.

setlocal EnableDelayedExpansion 
set "errortext=" 
for /F "delims=" %%a in ('findstr /r /c:"^*.error.*" test1.txt') do (
    set "errortext=!errortext! %%a" 
) 
echo !errortext! 
Смежные вопросы