我有一个文件output.txt,其内容低于:
SERVER_NAME MOUNT_POINT TOTAL_SPACE USED_SPACE USED_PERCENTAGE AVAILABLE_SPACE
Server_1 /dev 1200G 537G 54% 464G
Server_2 /dev 600G 490G 85% 94G
Server_3 /dev 600G 402G 69% 181G
Backup_server /storage 800G 682G 72% 278G
使用以下脚本,我格式化了output.txt文件以通过电子邮件获取通知。现在,我尝试比较最后两个列(USED_PERCENTAGE
和AVAILABLE_SPACE
),以使特定单元格的USED_PERCENTAGE
值大于90%,然后对应{ {1}}单元格的背景应为红色。
请告诉我如何在以下脚本中执行此操作?
AVAILABLE_SPACE
答案 0 :(得分:2)
如果有条件,您应该使用不同的样式格式化HTML结果。要做到这一点,你要为数据样式声明一个变量,如果你的条件是假的话,它应该等于$normalDataStyle
,如果它是真的,你应该是一个特殊的样式。
$redDataStyle='style = "border: 1px solid black; background: #c00000; padding: 5px;text-align:center;"'
# add "background" parameter to normal style
$data | ForEach-Object{
# <switch skipped>
$spaceStyle=$normalDataStyle
$percent = $_.USED_PERCENTAGE.substring(0,$_.USED_PERCENTAGE.indexOf("%")
#strips "%" off percentage, making it a number
if ($percent -gt 89) { $spaceStyle=$redDataStyle}
$body = $body + "<tr $rowstyle><td $normalDataStyle>$($_.SERVER_NAME)</td><td $normalDataStyle>$($_.MOUNT_POINT)</td><td $normalDataStyle>$($_.TOTAL_SPACE)</td><td $normalDataStyle>$($_.USED_SPACE)</td><td $spaceStyle>$($_.USED_PERCENTAGE)</td><td $spaceStyle>$($_.AVAILABLE_SPACE)</td></tr>`r`n"
}