PowerShell实现按条件终止管道的方法

 更新时间:2015年06月02日 11:43:57   投稿:junjie  
这篇文章主要介绍了PowerShell实现按条件终止管道的方法,有时你可能想在管道运行在某个特定的条件下,终止管道的运行,本文就讲解了这样一种方法,需要的朋友可以参考下

有时你可能想在管道运行在某个特定的条件下,终止管道。今天来演示一个比较新颖的方式,它适用于PowerShell 2.0或着更高版本。先看代码:

filter Stop-Pipeline
{
param
(
[scriptblock]
$condition = {$true}
)
 
if (& $condition)
{
continue
}
$_
}
 
do {
Get-ChildItem c:\Windows -Recurse -ErrorAction SilentlyContinue |
Stop-Pipeline { ($_.FullName.ToCharArray() -eq '\').Count -gt 3 }
} while ($false)

管道会递归的扫描windows目录,新引入的命令stop-pipeline,它可以接受一个布尔条件参数,一旦条件成立,管道就会终止。

这个例子可以控制递归的深度,一旦检测到路径中包含了三个反斜杠,管道就会终止,当然你可以调节3到更大的整数,以增加扫描的文件夹深度。

这个诀窍需要管道必须嵌入在一个do 循环中,因为Stop-Pipeline在条件满足时,是通过continue语句来终止管道的。

听起来略微笨拙,但是效果杠杠的。再来看另一个用法,让管道最多运行10秒钟:

$start = Get-Date
$MaxSeconds = 10
 
do {
Get-ChildItem c:\Windows -Recurse -ErrorAction SilentlyContinue |
Stop-Pipeline { ((Get-Date) - $start).TotalSeconds -gt $MaxSeconds }
} while ($false)

相关文章

  • PowerShell注册表操作命令总结

    PowerShell注册表操作命令总结

    这篇文章主要介绍了PowerShell注册表操作命令总结,对访问注册表所需的所有命令做了一简要描述,需要的朋友可以参考下
    2014-05-05
  • Powershell中定义常量的方法

    Powershell中定义常量的方法

    这篇文章主要介绍了Powershell中定义常量的方法,本文讲解了如何在脚本和配置文件中创建常量,需要的朋友可以参考下
    2015-03-03
  • PowerShell使用小技巧分享

    PowerShell使用小技巧分享

    本文给大家汇总了几个平时经常能够用到的PowerShell使用小技巧,包括修改Host文件、方法调用、查看powershell版本,有需要的小伙伴可以参考下。
    2015-09-09
  • Powershell使用C#实现缩写路径

    Powershell使用C#实现缩写路径

    这篇文章主要介绍了Powershell使用C#实现缩写路径,缩写路径有时候是非常有用的,比如某些报表的路径太长会很难看,缩写后就会好看许多,需要的朋友可以参考下
    2015-01-01
  • PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子

    PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子

    这篇文章主要介绍了PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子,需要的朋友可以参考下
    2014-08-08
  • 探索PowerShell (四) PowerShell的对象、格式与参数

    探索PowerShell (四) PowerShell的对象、格式与参数

    本节将要给大家介绍一下PowerShell下的对象,基本格式以及参数。依然属于PowerShell的基础
    2012-12-12
  • Windows Powershell调用静态方法

    Windows Powershell调用静态方法

    Powershell将信息存储在对象中,每个对象都会有一个具体的类型,简单的文本会以System.String类型存储,日期会以System.DateTime类型存储。任何.NET对象都可以通过GetType()方法返回它的类型,该类型中有一个FullName属性,可以查看类型的完整名称。
    2014-09-09
  • PowerShell 语音计算器实现代码

    PowerShell 语音计算器实现代码

    带中文发音功能的计算器程序,支持鼠标和小键盘输入,支持多种数值转人民币的相关资料
    2017-10-10
  • PowerShell小技巧之获取域名whois信息

    PowerShell小技巧之获取域名whois信息

    平常我们要查询whois信息都是通过godaddy、name.com、万网、新网等域名注册商网站通过查询页面提交域名进行查询,既慢又不能批量查询,太费劲了,这里我就把我珍藏很久的一个PS function贡献给大家,这个脚本支持140多种后缀的域名进行查询。
    2014-10-10
  • PowerShell中的函数重载示例

    PowerShell中的函数重载示例

    这篇文章主要介绍了PowerShell中的函数重载示例,本文直接给出一个完整重载示例,需要的朋友可以参考下
    2015-06-06

最新评论