尝试提取日志文件和create custom.txt输出中的最新错误

问题描述

我是Powershell脚本的新手,并且受命根据某些日志文件中的错误创建一些警报。这些只是来自定制应用程序的日志。

我当前的代码

`$OutputFile3 = (Get-Location).Path + ".\Results.txt"

 $Sourcefolder= "C:\Users\dewana\Documents\Test\"
 $Targetfolder= "C:\Users\dewana\Documents\Test\Test3"
 Get-ChildItem -Path $Sourcefolder -Recurse|
 Where-Object {
 $_.LastWriteTime -gt [datetime]::Now.AddMinutes(-5)
 }| copy-Item -Destination $Targetfolder


 $Testing5 = Get-Content -Tail -1 -Path "C:\Users\dewana\Documents\Test\Test3\*.txt"  | Where-Object 
 { $_.Contains("errors") }

Remove-Item $OutputFile3
New-Item $OutputFile3 -ItemType file 
try
 {
    $stream = [System.IO.StreamWriter] $OutputFile3
    $stream.WriteLine('clientID 1111')
    $stream.WriteLine('SEV 1')
    $stream.WriteLine('Issue with this process')
 }
finally
{
$stream.close()
}`

我正在努力的是

$Testing5 = Get-Content -Tail -1 -Path "C:\Users\dewana\Documents\Test\Test3\*.txt" | Where-Object { $_.Contains("errors") } 我正在尝试在日志文件中存储包含单词error的最新字符串。我想使用存储的字符串创建if语句,以说明$ Testing5是否为分配给自定义文本文件错误赋予了新的值。

我似乎无法找出为什么get-content无法与where-object合作

解决方法

我唯一看到的问题是您的Where-Object代码块在下一行。

Get-Content -Tail -1 -Path $tempfile | Where-Object
{ $_.Contains("errors") }

如果您在管道处分开就可以了。

Get-Content -Tail -1 -Path $tempfile |
    Where-Object { $_.Contains("errors") }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...