![]() |
1
8
可以使用任何可能中断外部循环或完全停止脚本执行(例如引发异常)的内容来中断管道。然后,解决方案是将管道包裹在一个循环中,如果需要停止管道,可以中断该循环。例如,下面的代码将从管道返回第一个项,然后通过断开外部do while循环来断开管道:
此功能可以包装成这样的函数,其中最后一行完成与上面相同的任务:
|
![]() |
2
3
无法从下游命令停止上游命令。。它将继续筛选出与条件不匹配的对象,但第一个命令将处理它设置为处理的所有内容。
除非您知道要从何处提取多少行,否则将读取整个文件以检查模式。 |
![]() |
3
3
或 看看这篇关于如何终止管道的文章: https://web.archive.org/web/20160829015320/http://powershell.com/cs/blogs/tobias/archive/2010/01/01/cancelling-a-pipeline.aspx |
![]() |
4
2
Log Parser 查看是否不能在数据到达管道之前使用查询筛选数据。 |
![]() |
5
1
尝试使用这些过滤器,它们将强制管道在第一个对象(或前n个元素)之后停止,并将其存储在变量中;如果不将对象推出,但无法分配给变量,则需要传递变量的名称。
|
![]() |
6
1
如果你愿意使用非公开的成员,这里是一个阻止管道的方法。它模仿什么
编辑:根据mklement0的注释: 这是一个 link 到Nivot ink博客的“poke”模块的脚本,该模块同样允许访问非公共成员。
我的建议是:去拿奥辛的戳模。调整代码以使用该模块。然后试试看。如果你喜欢它的工作方式,那就用它,不要担心它的工作方式(我就是这么做的)。
注:我没有深入研究过“戳”,但我猜它没有
|
![]() |
7
0
另一种选择是使用
|
![]() |
8
0
这里有一个不完美的实现
:我不完全理解它是如何工作的,尽管它从根本上利用了
可能导致更好解决方案的背景信息:
多亏了
PetSerAl
answer here
演示如何生成相同的异常
但是,会从cmdlet内部引发异常,即 自身连接到管道停止
|
![]() |
Anna · 我可以在gitlab管道中创建参数化作业吗? 7 年前 |
![]() |
yaobin Anycorn · 如何导致Linux管道失败? 7 年前 |
|
nbf77 · 将Tensorflow输入管道更改为“数据集”-错误 7 年前 |
![]() |
Matt Joiner · 如何通过流式测试环跟踪进度? 7 年前 |
![]() |
Sathishkumar · 在GoCD管道中创建自定义管道标签 7 年前 |