【问题标题】:Batch Script for Finding Success or Failed from Log File从日志文件中查找成功或失败的批处理脚本
【发布时间】:2015-07-18 07:41:49
【问题描述】:

我在 Windows Server 中有一个日志文件,将在该日志中创建每日日志,因此我必须在该文件中记录成功和失败计数。

我需要一个批处理脚本来对最近更新的文件进行计数。

findstr /i "success: failed:" "C:\test*.log" > C:\test\result.txt

这是我使用的代码,但我需要一个命令来计算最新创建的文件。 提前致谢。

【问题讨论】:

  • edit您的问题包括有关操作系统和批处理脚本语言(Perl 脚本、Windows 批处理文件等)的详细信息,解释您迄今为止尝试过的内容,并将您的代码包含为就是现在。从那开始,人们可能能够(并且愿意)提供帮助。

标签: batch-file


【解决方案1】:

仅用于打印:

findstr /i "success failed" logfile.txt

将其放入变量并打印:

setlocal enabledelayedexpansion
for /f "delims=" %%i in ('findstr /i "success failed" logfile.txt') do (
  set line=%%i
  echo !line!
)

编辑

for /? 提供了一些有用的选项,例如搜索完整的单词(例如,查找“end”,而不是“Mendoza”、“b结束”或“结束ing”):

 findstr /i "\<success\> \<failed\>" logfile.txt

\&lt; 表示“单词开头”,\&gt; 表示“单词结尾”

如果您知道搜索词的大小写,也可以省略/i

【讨论】:

  • 嗨,斯蒂芬,谢谢它正在工作,但还有一个疑问,我只想要日志、文件中的成功和失败计数。我用了你的命令。它被打印的所有单词都成功了似的。它也成功打印了单词..请帮助我找到确切的成功和单独失败。不要打印前缀单词。
  • 非常感谢斯蒂芬,你很棒。
  • 非常感谢斯蒂芬,你很棒。最后一个......这工作正常。有一个路径,在该路径中,每日文件都在更新,我必须进入最近更新的文件,然后必须找到这个失败和成功计数。现在,由于您的帮助,我能够计算失败和成功的数量。现在我需要一个命令来进入最近更新的文件,然后必须计算这个成功和失败计数。
  • FOR /F "delims=" %%i IN ('dir /b /a-d /t:c /od') DO SET last=%%i(对来自this answer的文件稍作改编)
猜你喜欢
  • 2014-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多