【发布时间】:2019-06-07 04:34:02
【问题描述】:
我们每天都会收到一封电子邮件,向我们展示备份通过或失败的内容。 我所做的是提取电子邮件的 HTMLbody 并放入它自己的 html 文件 body.html。
body.html 如下
11 个标题
服务器、客户端、状态、组、作业、已扫描大小 (TB)、已开始、已完成、持续时间(小时)、保留时间(周)、过期
我希望能够在 html body.html 中搜索单词“failed”(它将仅位于 Status 列下并返回整行。
我试图将它抓取到一个变量中,然后对其进行搜索。但它会返回所有代码。
有什么想法吗?
$Outlook = New-Object -ComObject Outlook.Application
$OutlookFolders = $Outlook.Session.Folders.Item(1).Folders
$OutlookInbox = $Outlook.session.GetDefaultFolder(6)
$latestmail=$OutlookInbox.items | select -last 1
$emailhtmlbody=$latestmail.HTMLBody
$emailhtmlbody | out-file d:\delme\test\body.html
【问题讨论】:
-
如果HTML很小,你能提供它来测试吗?请务必先清理代码,以免包含任何敏感内容。
-
桌子很大。它有超过 230 行。我需要弄清楚如何将其添加到问题中
-
是的,不要将其添加到问题中。但是你说它是一张桌子,所以它改变了它的处理方式。表格的每一行是否都换行(在原始 HTML 中)?
-
您需要向我们展示
$emailhtmlbody的最小化部分,以便我们知道是否可以逐行迭代或者内容是否为压缩(无换行符)格式。该图像仅显示绿线(成功),但您对failed状态感兴趣。可能这些行有不同的类可供搜索,但我们现在看不到。 -
如果
$emailbody包含有效的 html,您可以直接或在将其转换为[xml]后对其进行检查
标签: html powershell