我有我希望有人能夠幫助...一個問題的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(打印