0

我正在尝试在日志文件(test1.txt)中搜索错误消息。消息中有“错误”一词。所以如果我找到那个词,我会选择那个句子并将它设置在一个变量中,这样我就可以将所有错误行添加到一个变量中。所以我可以用它们来操纵它们。但是我怎样才能填充变量,我这样做了,但它需要很长时间而没有结果:

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

1 回答 1

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!
于 2012-03-23T15:27:51.490 回答