输出数组时以特定颜色显示文本

时间:2016-12-20 19:57:31

标签: arrays powershell colors

我有一个构建表的powershell循环。在其中一列中,我想比较数字,如果它低于一定数量,则只显示该项目为红色。我怎样才能做到这一点?我以这种方式构建和展示我的桌子:

$mytab = ()
foreach ($1 in $all)
{
  $ltr = $1.letter
  $lbl = $1.label
  $num = $1.number
  $mytab += new-object psobject -property @{
      letter = $($ltr);
      label = $($lbl);
      number = $($num);
  }
}
$mytab | ft letter,label,number

所以,让我们在我的foreach循环的一次迭代中说,($ num -lt 20)是真的。我希望$ num的特定实例以红色显示在$ mytab的输出中,而其他列'值是正常的文本颜色。

在这种情况下,我无法想到任何使写主机执行此操作的方法,并且

我问得太多了吗?我意识到我可能会遍历数组,然后第二次重建表格,但我希望这是一种我更不容易理解的方式。

感谢。

ETA:如果不可能,我宁愿使用特殊字符突出显示文本而不是整行的颜色。现在,我用if语句来处理这个文本!在将它送入阵列之前的字符。