【发布时间】:2018-10-29 17:16:35
【问题描述】:
是否可以在函数内刷新/清除 Powershells 输出流?
用例:我在我的 psm1 文件中调用其他开发人员的 PS 函数,我想使用输出流向调用者返回一个数字返回值。
我的问题:我正在使用的其他一些函数执行Write-Output 操作。所以我的函数返回返回值加上通过Write-Output cmdlet“注入”的混合文本。
【问题讨论】:
-
流永远向前移动。你无法清除它,因为写的是写的。您可以清除屏幕,但这显然不是一回事。你可以做的是控制流——
Write-Output将它的输出发送到管道中的下一个命令,所以如果你确保下一个命令在那里并丢弃输入(@987654324 @) 它永远不会到达您的呼叫者。 -
@JeroenMostert:好的。谢谢。管道到
Out-Null是我已经在使用的模式。无论如何,请。发表您的评论作为答案,以便我可以关闭问题。谢谢 -
处理管道的链式函数同时处理管道中的数据。一旦一个函数在管道上放置了一些东西,它就不能再从该函数中删除,因为调用者可能已经处理并使用了它。话虽如此,只有调用者可能会按照 Jeroen 的建议清除数据,例如
| Out-Null
标签: powershell