管道中的条件格式宽

时间:2014-03-19 15:50:31

标签: powershell pipeline

我想有条件地将Format-Wide应用于管道:

Get-ChildItem | Format-Wide

如何使| Format-Wide部分以变量为条件?例如,仅当| Format-Wide$condition时才应用True

编辑:以下是我想要实现的目标:

function format-conditional {
  param ([bool]$condition)
  if ($condition) {$input | Format-Wide -Column 3 } 
  else {$input}
}

Invoke-Expression ("Get-ChildItem $Args") |
%{
    $fore = $Host.UI.RawUI.ForegroundColor
    $Host.UI.RawUI.ForegroundColor = 'Green'
    echo $_
    $Host.UI.RawUI.ForegroundColor = $fore
} | format-conditional $false

但是这样Green颜色消失了。

1 个答案:

答案 0 :(得分:2)

如果您想在管道中执行此操作,您需要为此创建自己的功能:

function format-conditional
{
  param ([bool]$condition)
  if ($condition) {$input | format-wide } 
  else {$input}
}

 $test = $true

 gci | format-conditional $test