| 用途 | 统计目录占用,定位大文件大目录 |
|---|---|
| 思路 | 递归枚举 -> 按 Length 汇总 -> 降序 Top |
| 加速 | WizTree/TreeSize 直读 MFT,比脚本快几个数量级 |
常用示例
常用示例
# 一级子目录大小 Top10
Get-ChildItem 'D:\Data' -Directory | ForEach-Object {
$s=(Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum
[pscustomobject]@{Dir=$_.Name; GB=[math]::Round($s/1GB,2)}
} | Sort-Object GB -Descending | Select-Object -First 10
# 单文件 Top20
Get-ChildItem D:\ -Recurse -File -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName, @{n='GB';e={[math]::Round($_.Length/1GB,2)}}统计全程只读;机械盘上全盘扫会很慢且有 IO 压力,业务高峰尽量避开或用 MFT 类工具。