将变量分配给 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%
我有一个日志文件,其中的所有行都以日期和时间作为前缀。例如:
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%