【发布时间】:2013-05-16 02:53:50
【问题描述】:
我有一个检查脚本,我将其转换为输出为 HTML。
它具有检查网站响应时间的功能。我一辈子都无法获得以 HTML 格式显示的输出。有什么想法吗?
# Function to check external website content
function websitecheck($object) {
$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")
$output = ""
$startTime = get-date
$output = $webClient.DownloadString($object)
$endTime = get-date
if ($output -like "*Test*" -or "*Testing*") {
"Success`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds" + "`t" + $object
}
else {
"Fail`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds" + "`t" + $object
}
}
#External Website Check Function
Write-Host "External Website Checks"
Write-Host ""
$html = $html + @"
websitecheck "http://www.website01.com"
websitecheck "http://www.website02.com"
"@
Write-Host "========================="
Write-Host ""
谢谢
【问题讨论】:
-
$html是什么?第一次声明它时,你等于它本身......另外,如果你只需要一个表,你可以在你的websitecheck函数中创建对象并使用ConvertTo-Html将这些对象的数组转换为 html-带有表格的页面。 -
$html 是在脚本的前面声明的,在这里发布整个脚本相当大。
-
好的。还需要更多。 $html 是您手动保存到文件的纯 html 代码的字符串变量吗?但作为解决方案:尝试
$html = $html + @" $(websitecheck "http://www.website01.com") $(websitecheck "http://www.website02.com") "@对函数的调用是一个表达式,需要包装。如果有效,我会在您验证时将其添加为答案 -
效果很好,将其添加为答案,以便我可以标记为已完成。谢谢。
标签: html powershell scripting