• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >PowerShell > PowerShell实现按条件终止管道的方法

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

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了powershell,windows powershell,powershell是什么,powershell下载,powershell怎么打开等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

有时你可能想在管道运行在某个特定的条件下,终止管道。今天来演示一个比较新颖的方式,它适用于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)

</div>

管道会递归的扫描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)
</div>

</div>

您可能想查找下面的文章:

  • PowerShell使用match操作符来筛选数组
  • PowerShell连接SQL SERVER数据库进行操作的实现代码
  • powershell远程管理服务器磁盘空间的实现代码
  • Powershell 之批量获取文件大小的实现代码
  • 用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件
  • PowerShell因为在此系统中禁止执行脚本的解决方法
  • Powershell 查询 Windows 日志的方法
  • Powershell 查找用户的主SMTP地址
  • powershell解决win10开始菜单和通知中心无法打开
  • Powershell 获取特定的网页信息的代码

相关文章

  • PowerShell 入门基础教程
  • WMI入门教程之WMI中的类在哪里?
  • PowerShell脚本开发之收发UDP消息包
  • PowerShell 4.0实现自动化设置服务器
  • PowerShell小技巧之查找获取注册表路径
  • PowerShell脚本开发之批量扫描IP和端口
  • PowerShell入门教程之编写和使用脚本模块实例
  • 类似rpm包管理器的Windows Installer PowerShell Module简介
  • 探索PowerShell(十三) WMI对象介绍
  • PowerShell中获取Windows系统序列号的脚本分享

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • PowerShell管理Win Server 2008 R2
    • Windows Powershell 变量的作用域
    • PowerShell中使用Out-String命令把对象转换成字符串输出的例子
    • 探索PowerShell(十一)函数介绍
    • PowerShell查看本机文件关联程序和默认打开程序的方法
    • PowerShell函数参数指定数据类型实例
    • PowerShell脚本清理指定天数前的临时文件夹实现代码
    • PowerShell实现统计函数嵌套深度
    • PowerShell Out-File禁止覆盖文件的方法
    • PowerShell函数简明教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有