PowerShell如何避免统计命令输出中的空行?
解决方法
要统计非空有效内容的行数,你需要先过滤掉name属性为空的条目,再进行统计。以下是两种可行的方案:
方案一:过滤后用Measure-Object统计
Get-AppPackage | Select-Object -Property name, publisherid | Where-Object { $_.name -and $_.name.Trim() } | Measure-Object -Property name -Line
这里Where-Object { $_.name -and $_.name.Trim() }会同时过滤掉name为$null、空字符串或纯空白字符的条目,确保只统计有实际内容的项。
方案二:直接获取有效条目数量
如果只需要数字结果,用Count属性更简洁:
(Get-AppPackage | Where-Object { $_.name -and $_.name.Trim() }).Count
为什么原来的命令会多统计?
你之前的命令没有过滤空值,Measure-Object会把所有包含name属性的对象都算进去——哪怕name是空的,这就导致统计结果包含了无效的空行,和你实际的69条有效内容不符。
内容的提问来源于stack exchange,提问作者BEHXAD
相关产品推荐
相关产品推荐

