2016-01-20 60 views
-1

我有一個腳本,通過xml文件搜索模式,然後用結果創建一個文件。然後在搜索找到匹配項時通過電子郵件發送文件。但是,這部分不起作用。任何幫助(或調整)將是驚人的:使用Powershell查找模式併發送電子郵件

$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 "[email protected]" -To [email protected] -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 
      } 

回答

1

我相信這個問題是在下面的代碼行

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

將其更改爲兩條語句像

$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 
} 
+0

太棒了!非常感謝你。這工作準確 –

+0

什麼是一個很好的方式來讀入這個腳本的內存? –