Powershell管道

(1)管道的处理模式

顺序模式(慢):管道同一时间只执行一条命令,只有当前一条命令执行完毕,才会把所有结果交给下一条命令。缺点:速度慢、耗内存。

流模式(快):管道同一时间可能会执行多条命令,前一条命令可能会产生多个结果,一旦其中一个结果产生,就会立即交给下一条命令处理,这就导致了管道的某个任务可能还在执行,但一部分结果已经输出了。优点:节省内存,速度快。

(2)排序

使用Sort-Object对管道结果进行升序和降序:

如果要查找此目录下所有的.py文件,可以用-recurse选项来递归查询。

(3)分组

使用Group-Object可以对管道结果进行分组。

把服务以状态进行分组,把当前目录下文件以扩展名进行分组:

查看当前目录的文件,根据文件的大小是否小于5kb来分组:

(4)过滤

过滤对象可以使用Where-Object,别名“?”:

过滤对象的属性可以使用Select-Object:

自定义个性化的过滤可以使用ForEach-Object:

过滤重复的结果可是使用Get-Uinque,它会逐个遍历对象,每次遍历时都会与前一个对象进行比较,如果和前一个对象相等就会抛弃当前对象,否则就保留。

下面对象列表必须排序,Get-Unique才能完全发挥作用,负责只能保证相邻对象不重复。

(5)导出管道结果

通过Get-Command -verb out查看Powershell有哪些输出的命令。


猜你喜欢

转载自blog.csdn.net/southwind0/article/details/80383372