根据另一个单元格值为单元格着色

时间:2015-06-23 10:19:35

标签: html powershell powershell-v2.0

我有一个文件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_PERCENTAGEAVAILABLE_SPACE),以使特定单元格的USED_PERCENTAGE值大于90%,然后对应{ {1}}单元格的背景应为红色。

请告诉我如何在以下脚本中执行此操作?

AVAILABLE_SPACE

1 个答案:

答案 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"
}
相关问题