Findstr получает ответ на переменную - PullRequest
0 голосов
/ 23 марта 2012

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

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

1 Ответ

0 голосов
/ 23 марта 2012

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

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