使用 powershell convertTo-html 将正确信息写入 html 文件时出现问题
Having an issue with writing correct information to htmlfile with powershell convertTo-html
这个问题有两个部分:
最终我试图从文件描述和原始文件名中打印出数据。
第一个可能也是简单的问题是如何让它们在同一条线上?
我正在使用 PS G:\SysinternalsSuite> $values=@("filedescription", "originalfilename");foreach($V in $Values){(get-command g:\*\*\a*.exe).fileversioninfo.($v)} Windows Assessment and Deployment Kit - Windows 10 adksetup.exe
两行,而不是一行。之后我可以编辑它,但是...
下一期尝试将这些信息输出到一个文件中:
我正在使用 (get-command g:\*\*\a*.exe).fileversioninfo.filedescription
到 return exe 文件文件夹的美化名称(例如,我正在使用 SysInternalsSuite)
结果:
PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription
Windows Assessment and Deployment Kit - Windows 10
工作得很好...然后就全错了!
我的下一个想法是将这些值放入 HTML 文件中,所以我这样做了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>50</td></tr>
</table>
</body></html>```
WTH are all these numbers??? Where's my data? Fine...
```PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription | echo
Windows Assessment and Deployment Kit - Windows 10```
Perfect!
```PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription | echo | convertTo-HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>50</td></tr>
</table>
</body></html>
write GRRRR!!!!
好的!我在这里错过了什么?
function HtmlTable
{
[OutputType([System.Object])]
Param (
[Parameter(Mandatory=$True)]
[String[]]
$tableRows,
[Parameter(Mandatory=$True)]
[String[]]
$tableHeaders,
[Parameter(Mandatory=$True)]
$tableWidthPercentage
)
$htmTable = "<html>
<style>
body {font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;}
table{width: $tableWidthPercentage;border-collapse: collapse;}
th{background-color:#106ebe; color:white;font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;border: 1px solid black;padding: 4px;text-align: left;border: 1px solid #ddd;}
tr:nth-child(even){background-color: #f2f2f2;}
td{font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;border: 1px solid #ddd;padding: 4px;}
</style>
<table>
<tr>"
Foreach ($header in $tableHeaders)
{
$htmTable += "<th>$header</th>"
}
$htmTable +="</tr>
$tableRows
</table>"
return $htmTable
}
#simply you can call the function directly as below, where $tableData is the variable you can give the td data
$htmlTemplate= HtmlTable -tableWidthPercentage 80% -tableRows $tableData -tableHeaders ID,CreatedDate,Title,State,Efforts
ConvertTo-Html
通过检查您通过管道传递给它的任何对象的属性来工作,并创建一个 table,其中每一列对应于 属性 名称。
因为 [string]
类型只有一个 属性 - Length
属性 - 这就是你在 html table 中得到的- 包含每个输入字符串长度的单列。
而是发送一个 对象,其中描述是 属性 的值,然后在 table 中指定您想要的属性列表:
(Get-Command g:\*\*\a*.exe).FileVersionInfo |ConvertTo-Html FileDescription
这个问题有两个部分:
最终我试图从文件描述和原始文件名中打印出数据。
第一个可能也是简单的问题是如何让它们在同一条线上?
我正在使用 PS G:\SysinternalsSuite> $values=@("filedescription", "originalfilename");foreach($V in $Values){(get-command g:\*\*\a*.exe).fileversioninfo.($v)} Windows Assessment and Deployment Kit - Windows 10 adksetup.exe
两行,而不是一行。之后我可以编辑它,但是...
下一期尝试将这些信息输出到一个文件中:
我正在使用 (get-command g:\*\*\a*.exe).fileversioninfo.filedescription
到 return exe 文件文件夹的美化名称(例如,我正在使用 SysInternalsSuite)
结果:
PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription
Windows Assessment and Deployment Kit - Windows 10
工作得很好...然后就全错了! 我的下一个想法是将这些值放入 HTML 文件中,所以我这样做了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>50</td></tr>
</table>
</body></html>```
WTH are all these numbers??? Where's my data? Fine...
```PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription | echo
Windows Assessment and Deployment Kit - Windows 10```
Perfect!
```PS G:\SysinternalsSuite> (get-command g:\*\*\a*.exe).fileversioninfo.filedescription | echo | convertTo-HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML TABLE</title>
</head><body>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>50</td></tr>
</table>
</body></html>
write GRRRR!!!!
好的!我在这里错过了什么?
function HtmlTable
{
[OutputType([System.Object])]
Param (
[Parameter(Mandatory=$True)]
[String[]]
$tableRows,
[Parameter(Mandatory=$True)]
[String[]]
$tableHeaders,
[Parameter(Mandatory=$True)]
$tableWidthPercentage
)
$htmTable = "<html>
<style>
body {font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;}
table{width: $tableWidthPercentage;border-collapse: collapse;}
th{background-color:#106ebe; color:white;font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;border: 1px solid black;padding: 4px;text-align: left;border: 1px solid #ddd;}
tr:nth-child(even){background-color: #f2f2f2;}
td{font-family:Segoe UI, Helvetica Neue, Helvetica, Arial, Verdana;font-size:12px;border: 1px solid #ddd;padding: 4px;}
</style>
<table>
<tr>"
Foreach ($header in $tableHeaders)
{
$htmTable += "<th>$header</th>"
}
$htmTable +="</tr>
$tableRows
</table>"
return $htmTable
}
#simply you can call the function directly as below, where $tableData is the variable you can give the td data
$htmlTemplate= HtmlTable -tableWidthPercentage 80% -tableRows $tableData -tableHeaders ID,CreatedDate,Title,State,Efforts
ConvertTo-Html
通过检查您通过管道传递给它的任何对象的属性来工作,并创建一个 table,其中每一列对应于 属性 名称。
因为 [string]
类型只有一个 属性 - Length
属性 - 这就是你在 html table 中得到的- 包含每个输入字符串长度的单列。
而是发送一个 对象,其中描述是 属性 的值,然后在 table 中指定您想要的属性列表:
(Get-Command g:\*\*\a*.exe).FileVersionInfo |ConvertTo-Html FileDescription