Windows PowerShell 管道 |
部分功能使用示例
Where-Object
Where-Object
用于根据条件过滤对象。
# 示例:过滤出进程名称包含 "svchost" 的进程
Get-Process | Where-Object { $_.Name -like "*svchost*" }
# 示例:过滤出文件大小大于 1MB 的文件
Get-ChildItem | Where-Object { $_.Length -gt 1MB }
Select-Object
Select-Object
用于选择对象的属性或限制输出对象的数量
# 示例:选择进程的名称和ID属性
Get-Process | Select-Object Name, Id
# 示例:只获取前5个进程
Get-Process | Select-Object -First 5
Sort-Object
Sort-Object
用于对对象进行排序。
# 示例:按进程名称进行排序
Get-Process | Sort-Object Name
# 示例:按CPU使用率排序(从高到低)
Get-Process | Sort-Object CPU -Descending
Group-Object
Group-Object
用于根据指定属性对对象进行分组。
# 示例:按进程名称分组
Get-Process | Group-Object Name
# 示例:按文件扩展名分组
Get-ChildItem | Group-Object Extension
Measure-Object
Measure-Object
用于对对象进行统计计算,例如计数、求和、平均值等。
# 示例:统计进程数量
Get-Process | Measure-Object
# 示例:计算文件总大小
Get-ChildItem | Measure-Object Length -Sum
ForEach-Object
ForEach-Object
用于对每个对象执行操作。
# 示例:对每个文件重命名
Get-ChildItem *.txt | ForEach-Object { Rename-Item $_ -NewName ($_.Name + ".bak") }
# 示例:打印每个进程的名称
Get-Process | ForEach-Object { Write-Output $_.Name }
综合示例
# 示例:获取所有.txt文件,过滤大小大于1KB的文件,按大小排序,选前5个文件,并显示其名称和大小
Get-ChildItem *.txt | Where-Object { $_.Length -gt 1KB } | Sort-Object Length -Descending | Select-Object -First 5 | Select-Object Name, Length