-1

xml ファイルを検索してパターンを検索するスクリプトがあり、結果を含むファイルが作成されます。次に、検索で一致が見つかったときにファイルを電子メールで送信します。ただし、この部分は機能していません。どんな助けでも(または微調整)素晴らしいでしょう:

$date= Get-Date -Format yyyyMMdd
$dir= "c:\test\$date"
$path=Get-ChildItem -Path $dir -Recurse
$pattern = "<RESULT>FAILED</RESULT>"
$submitted = select-string -path $path -pattern $pattern | select Path,Filename | Export-Csv -Path "D:\Failed.csv"
if(@($submitted).Count -eq 0) {
##donothing 
}
else
           {
    Send-MailMessage -From "noreply@email.com" -To users@email.com -Subject "Failed Report" -Body "Attached are the failed files for App" -Attachments "D:\Failed.csv" -SmtpServer 0.0.0.0
    Remove-Item "D:\Failed.csv" -recurse
           }
4

1 に答える 1

1

問題は以下のコード行にあると思います

$submitted = select-string -path $path -pattern $pattern | select Path,Filename | Export-Csv -Path "D:\Failed.csv"

のような 2 つのステートメントに変更します。

$submitted = (select-string -path $path -pattern $pattern | measure-object).Count

select-string -path $path -pattern $pattern | select Path,Filename | Export-Csv -Path "D:\Failed.csv"

その後状態をチェック

if($submitted -eq 0) {
##donothing 
}
于 2016-01-20T17:32:19.487 に答える