You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何分组统计各DLL文件版本的出现次数

PowerShell实现DLL版本分组统计方法

要实现按DLL文件版本分组统计实例数量,只需要在现有代码的管道中加入分组聚合逻辑,再调整输出格式即可,核心是使用PowerShell内置的Group-Object命令完成分组计数。

按版本号字符串排序的实现代码

如果需要保持原有代码按版本号字符串排序的逻辑,使用以下代码即可:

gci System.Web.Mvc.dll -Recurse -ErrorAction SilentlyContinue | 
select-object -ExpandProperty VersionInfo | 
Select FileVersion | 
Group-Object FileVersion | 
Sort-Object { [string]$_.Name } |
Select-Object `
    @{Name='FileVersion'; Expression={$_.Name}},
    @{Name='Count'; Expression={$_.Count}} |
Format-Table -HideTableHeaders -AutoSize

按实例数降序排序的实现代码

如果需要和预期输出一致,按版本对应的实例数量从高到低排序,使用以下代码:

gci System.Web.Mvc.dll -Recurse -ErrorAction SilentlyContinue | 
select-object -ExpandProperty VersionInfo | 
Select FileVersion | 
Group-Object FileVersion | 
Sort-Object Count -Descending |
Select-Object `
    @{Name='FileVersion'; Expression={$_.Name}},
    @{Name='Count'; Expression={$_.Count}} |
Format-Table -HideTableHeaders -AutoSize

运行后输出结果完全匹配预期格式:

1.2.3.4    3
9.0.1.2    2
5.6.7.8    1

代码改动说明

  • 新增Group-Object FileVersion:按FileVersion字段对所有结果分组,分组后每组自动生成Count属性存储该版本的实例总数,版本号值存储在分组的Name属性中
  • 通过计算属性把分组的Name字段重命名为FileVersion,提取分组的Count字段作为统计值
  • 最后用Format-Table -HideTableHeaders -AutoSize隐藏表格表头、自动适配列宽,输出纯文本的版本+计数格式
  • 如果后续需要把统计结果导出为CSV等结构化格式,直接删除最后一行Format-Table命令即可,输出的对象可以直接对接Export-Csv等命令

内容的提问来源于stack exchange,提问作者Robbie Dee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:57:16