我有我希望有人能够帮助...一个问题的Windows PowerShell - 无法创建一个HTML表格正确
我有以下代码:
Else {
$script:MyReport += Get-CustomHeader "2" "Files older than"
Get-ChildItem -Path $Target -Recurse | Where-Object { $_.LastWriteTime -lt $(get-date).('Add' + $PeriodName).Invoke(-$periodvalue) `
-and $_.psiscontainer -eq $false } | `
#Loop through the results and create a hashtable containing the properties to be added to a custom object
ForEach-Object {
$properties = @{
Path = $_.Directory
Name = $_.Name
DateModified = $_.LastWriteTime }
#Create and output the custom object
$var1 = New-Object PSObject -Property $properties | select Path,Name,DateModified
$script:MyReport += Get-HTMLTable ($var1 | select Path,Name,DateModified)
}
} #Close Else clause on Test-Path conditional
的Get-HTMLTable
功能(如图所示如下图):
Function Get-HTMLTable{
param([array]$Content)
$HTMLTable = $Content | ConvertTo-Html
$HTMLTable = $HTMLTable -replace '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', ""
$HTMLTable = $HTMLTable -replace '<html xmlns="http://www.w3.org/1999/xhtml">', ""
$HTMLTable = $HTMLTable -replace '<head>', ""
$HTMLTable = $HTMLTable -replace '<title>HTML TABLE</title>', ""
$HTMLTable = $HTMLTable -replace '</head><body>', ""
$HTMLTable = $HTMLTable -replace '</body></html>', ""
Return $HTMLTable
}
我遇到的问题:
我从这个得到的输出如下:
Path Name DateModified
\\10.0.0.1\folder1 document1.xls 19/08/2013 16:02:01
Path Name DateModified
\\10.0.0.1\folder1 test.doc 20/08/2013 15:47:06
Path Name DateModified
\\10.0.0.1\folder1 anotherfile.txt 20/08/2013 15:42:26
但是输出其实我是想如下:
Path Name DateModified
\\10.0.0.1\folder1 document1.xls 19/08/2013 16:02:01
\\10.0.0.1\folder1 test.doc 20/08/2013 15:47:06
\\10.0.0.1\folder1 anotherfile.txt 20/08/2013 15:42:26
代码的一部分,我相信我做的不正确和是我没有得到正确的输出是因为这几行和foreach对象循环的原因:
$var1 = New-Object PSObject -Property $properties | select Path,Name,DateModified
$script:MyReport += Get-HTMLTable ($var1 | select Path,Name,DateModified)
我确定有一些显而易见的东西可以忽略,但是看不到我做错了什么。
你的帮助,这非常赞赏,感谢
看一看HTML源代码输出?它依赖于ConvertTo-Html,但似乎它为每行添加了一个整个表格。你可以将Get-HTMLTable分成3个函数:get-htmlTableHeader(打印一切,直到),get-htmlTableRow(打印