gpt4 book ai didi

powershell - 是否可以从过滤器中终止或停止 PowerShell 管道

转载 作者:行者123 更新时间:2023-12-04 03:14:17 24 4
gpt4 key购买 nike

我编写了一个简单的 PowerShell 过滤器,如果当前对象的日期在指定的开始日期和结束日期之间,它会将当前对象推送到管道中。管道中的对象始终按日期升序排列,因此只要日期超过指定的结束日期,我就知道我的工作已完成,我想告诉管道上游命令可以放弃它们的工作,以便管道可以完成它的工作。我正在阅读一些非常大的日志文件,我经常只想检查日志的一部分。我很确定这是不可能的,但我想问一下。

最佳答案

可以使用任何会中断外部循环或完全停止脚本执行(如抛出异常)的任何内容来中断管道。解决方案是将管道包装在一个循环中,如果您需要停止管道,您可以中断该循环。例如,下面的代码将从管道中返回第一项,然后通过中断外部 do-while 循环来中断管道:

do {
Get-ChildItem|% { $_;break }
} while ($false)

这个功能可以包装成这样的函数,最后一行完成与上面相同的事情:
function Breakable-Pipeline([ScriptBlock]$ScriptBlock) {
do {
. $ScriptBlock
} while ($false)
}

Breakable-Pipeline { Get-ChildItem|% { $_;break } }

关于powershell - 是否可以从过滤器中终止或停止 PowerShell 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/278539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com