我想有条件地将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
颜色消失了。
答案 0 :(得分:2)
如果您想在管道中执行此操作,您需要为此创建自己的功能:
function format-conditional
{
param ([bool]$condition)
if ($condition) {$input | format-wide }
else {$input}
}
$test = $true
gci | format-conditional $test