PowerShell强大管道

简介:

     PowerShell是在Window是的外壳语言,提供了多Windows的更多操作,让我们于windows的操作更简单方便,以及就是就是管理员的命令行更好的管理。PowerShell提供了与.net FCL(.net类库)的操作性,我们可以利用强大的.net FCL在PowerShell中。PowerShell提供强大的管道模型,管道指的是一个命令的输出可以利用操作符(|)方便的传递到下个命令作为输入。PowerShell不同传统管道模型的是它是一门基于对象的管道流,即在命令之间传递的对象不是简单的文本。下面我们就以本地文件操作来实践PowerShell的管道常见命令:

    1:集合遍历ForEach-Object:可以简写为foreach,或者%代替,提供了管道传入的对集合的遍历,同时提供了操作前begin,操作process,结束end命令,其中$_提供对当前索引的指代。

  示例:下面我们实践利用ForEach-Object来计算本地文件目录的文件大小:

image

    2:条件选择Where-Object:可以简写为where或者?代替。提供了对管道输入集合的过滤筛选,类似于SQL中的where条件,$_提供对当前索引的指代。

   示例:输出文件大于100KB的文件名字和大小:

image

   3:选择Select-Object:简写select,提供了对对象的选择类似于sql的select,.net的new匿名对象。同时select支持-first和-last取最前面或者最后面的几个相当于sql 中top,与下例中Sort-Object结合将很有用。

  示例:选择目录下文件的文件名和大小输出:

SNAGHTML3b707d0

   4:排序Sort-Object:简写sort,对于集合对象参照一个或者多个属性排序,可以指定-descending为倒序。

     示例:获取最大的前5个文件:

SNAGHTML3bc4128

   5:管道树Tee-Object:简写为tee,可以把管道模型传入的对象记录在文件日志或者赋值给变量保存等。提供-inputObject,-filePath ,-variable

  示例:保存文件对象时$test变量:

SNAGHTML3c03d8f

    6:分组Group-Object:简写group,提供依据属性分组类似sql group by。

   示例:按照文件类型分组并按照组内文件个数排序

SNAGHTML3c30688

 

 

   7:集合统计Measure-Object:简写:measure,提供了对集合的统计,简便的方法来获取最小值、最大值及平均值属性。

  示例:统计文件大小的最小值,最大值,平均值,总大小:

SNAGHTML3c60aad

   8:比较Compare-Object:简写diff,提供了对两个对象或集合的比较,其中有单侧指向器,=>表达此对象出现在右边,<=表示差异对象存在于左边。

     示例:新建一个文件夹2,比较连个目录的不同:

SNAGHTML3cb035d

今天就到这里,PowerShell很强大,继续学习。


作者:破  狼 
出处:http://www.cnblogs.com/whitewolf/ 
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-个人独立博客博客园--破狼51CTO--破狼。http://www.cnblogs.com/whitewolf/archive/2012/06/09/2543247.html


相关文章
|
7月前
|
Shell
shell获取管道输出
shell获取管道输出
|
29天前
|
缓存 网络协议 Unix
Windows 命令提示符(CMD)操作(四):网络通信
Windows 命令提示符(CMD)操作(四):网络通信
|
29天前
|
运维 Shell 数据处理
PowerShell系列(九)PowerShell Cmdlet概念介绍
【2月更文挑战第4篇】大家可能对cmd命令比较熟悉cmd就是Windows系统命令行窗口执行的命令,微软为了和传统的Shell命令区分,所以重新起了一个名词“Cmdlet”专门给PowerShell配套使用,Cmdlet可以理解为在PowerShell环境
PowerShell系列(九)PowerShell Cmdlet概念介绍
|
29天前
|
Windows
PowerShell系列(四):PowerShell进入交互环境的三种方式
【1月更文挑战第6天】今天继续给大家讲解PowerShell相关的知识,本次给大家讲解基于Windows系统环境进入PowerShell交互环境的几种方式。希望对大家啊学习PowerShell能提供一些帮助!
|
29天前
|
运维 开发工具 Windows
PowerShell系列(五):PowerShell通过脚本方式运行笔记
【1月更文挑战第7天】方便迁移,比如在之前工作经验积累下来的运维脚本,可以保存下来。如果业务场景用的到的话,直接文件拷贝过来就可以运行。
|
29天前
|
自然语言处理 运维 数据可视化
PowerShell系列(一):PowerShell介绍和cmd命令行的区别
【1月更文挑战第3天】什么是Windows系统的命令行环境,之前我们在使用XP、Win7系统的时候,用的最多的就是微软官方自带的cmd命令窗口了,我们通过敲命令行窗口可以实现和操作系统之间的交互。当然随着微软技术的快速发展,到了目前比较流行的Win10操作系
|
29天前
|
Unix Shell Linux
shell中的管道
shell中的管道
75 2
|
10月前
|
Shell
Shell 管道 | 符号
Shell 管道 | 符号
35 0
|
网络协议 Shell Linux
09_Linux基础-SHELL-标准输入与标准输出-重定向-管道
SHELL-标准输入与标准输出-重定向-管道
167 0

热门文章

最新文章

相关课程

更多