我利用PAL工具(https://pal.codeplex.com/)從Windows中的perfmon日誌生成HTML報告。在PAL處理來自perfmon的.blg文件後,它將信息轉儲到一個HTML文檔中,該文檔包含具有關於系統如何執行的各種數據點的表格。我目前正在編寫一個腳本,查看所有HTML文件的目錄內容,並在所有HTML文件上執行get-content。如何使用native powershell命令從html文件中提取特定表格?
我想要做的是爲具有不同數量的行的特定表格刮取此獲取內容Blob的轉儲。是否有可能使用本地PowerShell cmdlet來查找特定的表,計算每個表中有多少行,並轉儲只需所需的表和錶行?
下面是表格式,我想刮的例子:
<H3>Overall Counter Instance Statistics</H3>
<TABLE ID="table6" BORDER=1 CELLPADDING=2>
<TR><TH><B>Condition</B></TH><TH><B>\LogicalDisk(*)\Disk Transfers/sec</B></TH><TH><B>Min</B></TH><TH><B>Avg</B></TH><TH><B>Max</B></TH><TH><B>Hourly Trend</B></TH><TH><B>Std Deviation</B></TH><TH><B>10% of Outliers Removed</B></TH><TH><B>20% of Outliers Removed</B></TH><TH><B>30% of Outliers Removed</B></TH></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/C:</TD><TD>1</TD><TD>7</TD><TD>310</TD><TD>0</TD><TD>11</TD><TD>5</TD><TD>5</TD><TD>5</TD></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/D:</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/E:</TD><TD>0</TD><TD>24</TD><TD>164</TD><TD>-1</TD><TD>11</TD><TD>22</TD><TD>21</TD><TD>20</TD></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/HarddiskVolume5</TD><TD>0</TD><TD>0</TD><TD>2</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/L:</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>No Thresholds</TD><TD>MACHINENAME/T:</TD><TD>0</TD><TD>7</TD><TD>430</TD><TD>0</TD><TD>21</TD><TD>3</TD><TD>2</TD><TD>2</TD></TR>
</TABLE>
表ID是所有輸出文件中不變的,但表中的行量不大。任何幫助表示讚賞!
你需要表中的特定行還是整個表? – Grice 2014-09-19 18:52:28
我需要整個表格。我不只是需要一張桌子;我將抓取多個表格並將信息彙總到一個CSV文件中,以便輕鬆導入excel。 – 2014-09-19 18:54:06
你認爲「本地命令」是什麼? PS沒有解析HTML _files_的任何庫存cmdlet,但是如果您安裝了IE,則可以通過「New-Object -ComObject InternetExplorer.Application」執行IE自動化。然後,您可以使用[GetElementById .NET方法](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.htmldocument.getelementbyid%28v=vs.110%29.aspx) 。 – 2014-09-19 18:57:25