我正在尝试在日志文件(test1.txt)中搜索错误消息。在消息中有“错误”一词。所以如果我找到那个单词,我会选择那个句子并将其设置在变量中,这样我就可以在一个变量中添加所有错误行。所以我可以用它们来操纵它们。但是我如何填充变量,我这样做了,但是没有结果需要很长时间:
for /F "delims=" %%a in ('findstr /r /c:"^*.error.*" test1.txt') do set errorcode=%%a
echo %errorcode%
答案 0 :(得分:0)
每次变量时,您的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!