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

时间:2015-02-04 21:20:33

标签: variables batch-file cmd find findstr

我有一个日志文件,它的前缀是日期和时间的所有行。例如:

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

我希望编写一个批处理文件,在运行时从最后一小时中选出所有行,然后计算这些行中有多少行包含“重要位”,如果它大于给定值则输出该计数。

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

我目前的命令如下,其中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命令,但这仍然行不通。

非常感谢任何建议! 感谢

1 个答案:

答案 0 :(得分:2)

使用以下内容:

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