【问题标题】:Powershell, is it possible to flush/clear output-streamPowershell,是否可以刷新/清除输出流
【发布时间】:2018-10-29 17:16:35
【问题描述】:

是否可以在函数内刷新/清除 Powershells 输出流?

用例:我在我的 psm1 文件中调用其他开发人员的 PS 函数,我想使用输出流向调用者返回一个数字返回值。 我的问题:我正在使用的其他一些函数执行Write-Output 操作。所以我的函数返回返回值加上通过Write-Output cmdlet“注入”的混合文本。

【问题讨论】:

  • 流永远向前移动。你无法清除它,因为写的是写的。您可以清除屏幕,但这显然不是一回事。你可以做的是控制流——Write-Output 将它的输出发送到管道中的下一个命令,所以如果你确保下一个命令在那里并丢弃输入(@987654324 @) 它永远不会到达您的呼叫者。
  • @JeroenMostert:好的。谢谢。管道到Out-Null 是我已经在使用的模式。无论如何,请。发表您的评论作为答案,以便我可以关闭问题。谢谢
  • 处理管道的链式函数同时处理管道中的数据。一旦一个函数在管道上放置了一些东西,它就不能再从该函数中删除,因为调用者可能已经处理并使用了它。话虽如此,只有调用者可能会按照 Jeroen 的建议清除数据,例如 | Out-Null

标签: powershell


【解决方案1】:

由于 Jeroen Mostert 没有发表他的评论作为答案,我会这样做:

流永远向前移动。你无法清除它,因为写的是写的。您可以清除屏幕,但这显然不是一回事。你可以做的是控制流——Write-Output 将其输出发送到管道中的下一个命令,所以如果你确保下一个命令在那里并丢弃输入(Bad-Function | Out-Null)它永远不会联系到您的来电者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    相关资源
    最近更新 更多