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

如何用PowerShell按文件月龄统计占用存储空间(MB)?

PowerShell: Calculate Storage Usage by File Age (in Months)

没问题,我们可以调整你的PowerShell命令,实现按文件月龄统计存储空间占用的需求。关键是要准确计算每个文件的月龄(考虑跨年情况),然后按这个月龄分组并汇总文件大小。

实现命令

$now = Get-Date
Get-ChildItem -File |
    Group-Object -Property {
        # 计算文件的月龄:年份差*12 + 月份差,避免跨年统计错误
        ($now.Year - $_.LastWriteTime.Year) * 12 + ($now.Month - $_.LastWriteTime.Month)
    } |
    Sort-Object Name |
    Select-Object `
        @{Name='Age in Months'; Expression={$_.Name}},
        @{Name='Storage Space Used (MB)'; Expression={"{0:N2} MB" -f ($_.Group | Measure-Object Length -Sum).Sum/1MB}} |
    Format-Table -AutoSize

命令说明

  • Get-ChildItem -File:仅遍历当前目录下的文件(如果需要包含子目录的文件,加上-Recurse参数即可)
  • 分组逻辑:通过年份差×12 + 月份差的方式计算月龄,解决了跨年时的统计误差(比如去年10月的文件到今年11月,月龄会准确计算为13而非1)
  • Sort-Object Name:按月龄从小到大排序,让输出更符合阅读习惯
  • 汇总与格式化:用Measure-Object计算每组文件的总大小,转换成MB后保留两位小数,再拼接"MB"后缀,完美匹配你想要的输出格式

示例输出

Age in Months Storage Space Used (MB)
------------- -----------------------
0             100.00 MB
1             120.50 MB
2             50.25 MB
3             20.00 MB
4             10.75 MB
5             5.00 MB

如果需要调整小数位数,只需要修改{0:N2}中的数字(比如{0:N0}显示整数,{0:N1}显示一位小数)。

内容的提问来源于stack exchange,提问作者Matthew Liguori

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:22:42