我有一个名为 powershell 脚本,其中包含一个名为的变量,$GetCon
我想将该变量添加到每个结果的 html<p>
标签中。
例如,$GetCon
结果是:
Name Value
----- ------
chrome 12
Explorer 10
Edge 5
实际上pre标签里面的结果是一样的,但是我想把每个结果都改成p标签里面的,比如:
<p class="result">chrome</p>
<p class="result">Explorer</p>
<p class="result">Edge</p>
<p class="resultnumbers">12</p>
<p class="resultnumbers">10</p>
<p class="resultnumbers">5</p>
...等等
我的错误语法是:
> $result = " <p class='result'>$($Names)</p> <p
> class='resultnumbers'>$($Values)</p> " ConvertTo-Html | Out-File
> "c:\a.html"
答案1
类似这样的方法可以工作:
- 首先我们创建一个 ArrayList,这样我们就可以
.add()
和.remove()
对象 - 然后我们必须将 HTML 作为此处的字符串传递,
@" ... "@
否则它会破坏""
也许有更好的方法来解决这个问题,但这是我唯一想到的。 - 然后我们必须
.getEnumerator()
能够使用%
- 在里面
%
,我们将字符串添加到$result
代码:
$GetCon = @{
"chrome" = "12"
"Explorer" = "10"
"Edge" = "5"
}
$result = New-Object System.Collections.ArrayList
$namehtml = @"
<p class="result">
"@
$valuehtml = @"
<p class="resultnumbers">
"@
$GetCon.GetEnumerator() | % {
$result.add("$namehtml$($_.Name)</p>") > $null
$result.add("$valuehtml$($_.Value)</p>") > $null
}
输出$result
:
<p class="result">Explorer</p>
<p class="resultnumbers">10</p>
<p class="result">Edge</p>
<p class="resultnumbers">5</p>
<p class="result">chrome</p>
<p class="resultnumbers">12</p>
编辑:
如果 html''
中有""
,你可以像这样写,然后删除这里的字符串
$result = New-Object System.Collections.ArrayList
$GetCon.GetEnumerator() | % {
$result.add("<p class='result'>$($_.Name)</p>") > $null
$result.add("<p class='resultnumbers'>$($_.Value)</p>") > $null
}