【发布时间】:2014-01-16 08:22:17
【问题描述】:
我在这里的第一个问题,只想对我多年来从该网站获得的所有意见表示感谢。
我也是 powershell 新手,所以答案可能很简单。
我正在编写一个脚本,该脚本每 5 分钟检查一次日志文件。 (从 ActiveBatch 计划)。
目前脚本正在日志文件中搜索 ERROR。它工作正常。 但我的问题是脚本每次都搜索整个文件。因此,当确实发生错误时,检查在一天的剩余时间内每 5 分钟“失败”一次。直到生成新的日志文件。
我的脚本:
Write-Host Opretter variabler...
$file = "${file}"
$errorString = "${errorString}"
Write-Host file variable is: $file
Write-Host errorString variable is: $errorString
Write-Host
Write-Host Select String Results:
$ssResult = Get-Content $file | Select-String $errorString -SimpleMatch
Write-Host
Write-Host There was $ssResult.Count `"$errorString`" statements found...
Write-Host
IF ($ssResult.Count -gt 0) {Exit $ssResult.Count}
所以我想要的是找到错误,然后记住行号(可能在文件中)。然后在下一次运行中(5 分钟后)我想从该行开始搜索。
例如。在第 142 行发现错误,脚本以错误代码 142 退出。五分钟后脚本再次运行,它应该从第 143 行开始,并遍历文件的其余部分。
【问题讨论】: