文件夹大小
FSO
COM对象方式访问。
快。
无法访问某些路径的大小(Size)。
如:"我的文档"是"系统文件夹"(system folder)?异常;"桌面"正常。
参考:
- Size property (FileSystemObject object) | Microsoft Docs
- Dir size, not working (microsoft.com)
- Get size of user profile (Windows 7\Windows 8) using VBScript (microsoft.com)
DU
命令行(CMD)访问。
速度中。
貌似不扫描链接(link)。
需使用系统编码。
如:当前我是gbk,用utf8字符串传中文会错。
子文件夹包含链接时会跳过,不影响结果。
但若指定的路径为链接,会返回空(而非返回size 0),可能影响解析结果。
参考:
- Disk Usage - Windows Sysinternals | Microsoft Docs
- Get size of user profile (Windows 7\Windows 8) using VBScript (microsoft.com)
dir
命令行(CMD)或PowerShell(PS)访问。
递归,慢。
可能遇到"找不到网络路径"(会超时跳过,而非卡死)。
- PowerShell: K
dir C:\Users\user\Desktop -Recurse -force -ea 0| Measure-Object -Property length -Sum -Maximum
- CMD:
cmd /c dir /a /s /-c C:\Users\user\Desktop
.
DiskUsage
命令行(CMD)访问。
不理想,上层应用/功能性封装。
详见aleksaan/diskusage: Duck is a very fast utility to find largest directories or files (github.com)。
DIRUSE
命令行(CMD)。
类似DU,但会不扫描链接(link)。
老资源。
参考:
- Diruse - Disk usage - Windows CMD - SS64.com
- Diruse command line utility (microsoft.com)
- 下载:Wayback Machine (archive.org)
WMIC
快,全。
不支持文件夹大小。
参考:cmd.exe - Windows Command to get all information/properties of a file - Super User
Shell Property
我编的,没找到方法。