是否可以让命令在*输出*的第一行之后停止?

是否可以让命令在*输出*的第一行之后停止?

我有这个命令:

wevtutil qe System /rd /f:Text | findstr "4800 4801"

尽管我只对第一行输出感兴趣,但它还是花了很长时间才能完成。

我知道wevutil有一个/c:1标志,但如果我使用它,例如:

wevtutil qe System /rd /f:Text /c:1 | findstr "4800 4801"

然后什么都没有输出。

原因是/c:1标志表示只返回一行,但命令findstr随后应用,从而过滤掉相关事件代码。因此,除非偶然其中一个事件代码恰好是最新事件,否则输出将为空。

如何/c:1在应用事件过滤后应用,以保证只显示那些事件(永远不会显示任何内容)?

也就是说,我不想限制wevtutil命令获取的行数——我想限制命令最终得到的行数输出。每次运行此命令都要花费很多秒的时间,我需要它几乎是即时的。如果它在第一个(相关)记录后停止,它可能会几乎是即时的。

据我所知,webtutil它本身没有“findstr”的能力,这就是为什么帮助我弄清楚这个命令的人将输出传输到findstr...

答案1

您没有正确使用 /c: 标志。这是活动来显示,而不是线条。 https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil#options

/k 标志会起作用吗?它用于过滤日志,如上面的链接所述。

相关内容