Skip to content

计算目录大小

函数名:f_目录大小 / f_DirectorySize

功能描述

计算指定目录及其所有子目录中全部文件的总大小,结果以 MB(兆字节)为单位返回,保留两位小数。

会员等级:🟢 免费版(Free)

语法

excel
=f_目录大小(目录路径)

参数

参数名类型必填默认值说明
目录路径String待计算的目录路径

返回值

Double - 目录总大小(MB),保留两位小数。异常时返回 -1

使用示例

计算目录大小

公式

excel
=f_目录大小("D:\Data")

结果

123.45

目录不存在或无权限

公式

excel
=f_目录大小("Z:\InvalidPath")

结果

-1

判断目录是否需要清理

公式

excel
=IF(f_目录大小("D:\Temp")>500, "需要清理", "空间正常")

结果

需要清理

技术说明

  • 使用 DirectoryInfo.EnumerateFiles("*", SearchOption.AllDirectories) 遍历目录及所有子目录下的文件。
  • 通过 LINQ Sum(file => file.Length) 累加所有文件的字节数。
  • 总字节数除以 1024.0 再除以 1024.0 转换为 MB,使用 Math.Round(..., 2) 保留两位小数。
  • 使用 EnumerateFiles 而非 GetFiles,减少内存占用,适合大目录遍历。

错误处理

错误场景返回值
目录不存在-1
权限不足-1
其他异常-1
正常计算目录总大小(MB,保留两位小数)

基于源代码最新版本文档