2014-04-07 63 views
0

我想將變量內容寫入html文件,但它被ConvertTo-Html修改。 代碼:ConvertTo-Html修改文本變量

$nb = 10 
$text = '<font color="#008000">All ' + $nb + ' test(s) passed</font>' 
$file = "$env:USERPROFILE\Desktop\test.html" 
Write-Host "`$text = " 
Write-Host $text 
Write-Host 
Write-Host "(`$text | ConvertTo-Html -Fragment) =" 
$text | ConvertTo-Html -Fragment 

打印:

$text = 
<font color="#008000">All 10 test(s) passed</font> 

($text | ConvertTo-Html -Fragment) = 
<table> 
<colgroup><col/></colgroup> 
<tr><th>*</th></tr> 
<tr><td>50</td></tr> 
</table> 

我怎麼能阻止我的變量$文本的修改? 我使用PowerShell 4.0

+1

你有什麼期望了'的ConvertTo-Html' cmdlet來辦電子書?在這種情況下,它將把字符串的屬性(在這種情況下是字符串的長度,即50)格式化爲一個html格式的字符串。你的字符串已經是HTML格式,所以你不需要將它傳遞給'ConvertTo-Html'。 –

+0

我想在某些情況下更改文字顏色,這就是爲什麼我傳遞HTML代碼。和我預期的ConvertTo-HTML將輸出像

​​<字體顏色= 「#008000」>所有10個測試(多個)傳遞
Ionut

+2

'的ConvertTo-Html'將添加'InputObject的屬性'放入表中(如果將數組傳遞給cmdlet,則表列將由數組中的第一個對象確定)。既然你傳遞了一個字符串,你將會得到字符串的屬性到表中。無論是手動創建HTML還是創建一個將您的字符串作爲屬性並將該對象傳遞給'ConvertTo-Html' cmdlet的對象。但是,我非常確定'ConvertTo-Html'會HTML編碼你的屬性值,所以你仍然不會得到你豐富多彩的輸出。 –

回答