这里真正的问题是,您是否可以检测到您的输出被重定向到文件?
我的脚本中包含以下内容:
$table | Format-Table -AutoSize
假设我的脚本名为Print-Table。
我希望在执行时截断表的列:
.\Print-Table
但是,当我这样做时,我想让列完全展开:
.\Print-Table > table.txt
这可能吗?
答案 0 :(得分:0)
重定向发生在脚本之外,所以不,你无法检测到它。您可以将文件名作为脚本的参数,并在脚本中重定向/自动调整大小:
[CmdletBinding()]
Param(
[Parameter()]
[string]$Filename
)
if ($Filename) {
... | Format-Table > $Filename
} else {
... | Format-Table -AutoSize
}