将变量分配给 findstr/find 组合的输出

Assigning a variable to the output of a findstr/find combination

我有一个日志文件,其中的所有行都以日期和时间作为前缀。例如:

2015-02-04 16:11 Error Message: Important Bit Useless Information.

我想写一个批处理文件,当 运行 挑选出最后一小时的所有行,然后计算这些行中有多少行包含 "Important Bit" ,如果大于则输出此计数一个给定的值。

我觉得困难的部分基本上是主要部分。我已经设置了批处理文件,它找到了日期,找到了最后十分钟的时间段。然后我无法获取文件来执行上述操作。

我当前的命令如下,其中 date 和 now 被分配给当前日期和时间:

set count="findstr /G:“%date% %now%” “C:\Documents\File.txt” | find /C "Important Bit""

If %count% geq 5 echo Found %count% lines >> C:\Documents\Output.txt

当我 运行 这样做时,据我所知,没有任何反应。我也尝试过使用 FOR 命令,但这仍然行不通。

非常感谢任何建议! 谢谢

使用如下内容:

set /a COUNT=0
for /f %%i in ('findstr /i /c:"Important Bit" test.txt') do (
  set /a COUNT=COUNT + 1
)
echo %COUNT%