2015-06-04 35 views
3

我有一個返回的HTML片段一個PowerShell命令:渲染HTML片段,而不將其保存到一個文件

(Get-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSiteSQLDatabase.0.3.17-preview).description 

enter image description here

有沒有一種方法可以輕鬆地渲染片段,而不首先將其保存到一份文件?例如也許把它放到網絡瀏覽器中?

+0

您可以向瀏覽器投擲HTML,例如,將輸出保存爲'* .html',然後以保存的文件作爲參數啓動'iexplore'。 – Vesper

+0

謝謝Vesper。真的,我想知道是否有辦法將它傳遞給瀏覽器(或其他能夠呈現HTML的東西),而不必先保存到文件。我會相應地更新第一篇文章。 – jamiet

+0

無論我在這個主題上看到的教程總是保存到文件並隱式地調用文件上的'start'。也許這將是你的問題的最佳答案。 – Vesper

回答

3

創建一個新的Internet Explorer實例,並注入你的HTML片段到一個空白頁面的主體:

$id = 'Microsoft.WebSiteSQLDatabase.0.3.17-preview' 
$html = (Get-AzureResourceGroupGalleryTemplate -Identity $id).description 

$ie = New-Object -COM 'InternetExplorer.Application' 

$ie.Navigate('about:blank') 
do { 
    Start-Sleep -Milliseconds 100 
} until ($ie.ReadyState -eq 4) 

$ie.Document.body.innerHTML = $html 

$ie.Visible = $true 
+0

完美。非常感謝。 – jamiet

0

沒有它保存到文件中,但您可以創建爲1個內膽功能:

function render-html { $input > out.html; start out.html; sleep 1; rm out.html } 

"<b>meh</b>" | render-html