获取文件详情
函数名:f_获取文件详情 / f_Info
功能描述
获取指定文件夹下所有文件的详细信息列表,返回文件路径、大小(KB)和最后修改日期三列数据。支持递归子目录搜索及文件类型筛选。
会员等级:🟢 免费版(Free)
语法
excel
=f_获取文件详情(文件夹路径, [包含子文件夹], [文件类型])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 文件夹路径 | String | 是 | 无 | 要搜索的目录路径 |
| [包含子文件夹] | Boolean | 否 | TRUE | 是否包含子文件夹,TRUE=递归搜索子目录,FALSE=仅搜索当前目录 |
| [文件类型] | String | 否 | *.* | 扩展名过滤,如 *.txt、*.xlsx,支持多类型用 | 分隔 |
返回值
Object[,] - 二维数组(N行3列),三列依次为:文件完整路径、文件大小(KB,保留两位小数)、修改日期(格式 yyyy-MM-dd HH:mm)。目录不存在时返回含错误信息的 1x3 数组。
使用示例
获取文件夹所有文件详情
公式:
excel
=f_获取文件详情("D:\Reports")结果:
| 路径 | 大小(KB) | 修改日期 |
|---|---|---|
| D:\Reports\Q1.xlsx | 256.32 | 2025-03-15 10:30 |
| D:\Reports\Q2.xlsx | 312.50 | 2025-06-20 14:22 |
| D:\Reports\notes.txt | 1.25 | 2025-07-01 09:15 |
筛选指定类型文件详情
公式:
excel
=f_获取文件详情("D:\Reports", TRUE, "*.txt|*.xlsx")结果:
仅返回 .txt 和 .xlsx 类型文件的详细信息。
仅当前目录文件详情
公式:
excel
=f_获取文件详情("D:\Reports", FALSE)结果:
仅返回当前目录下文件的详细信息(不含子目录)。
技术说明
- 调用
Directory.GetFiles获取文件列表,通过SearchOption控制递归深度。 - 支持多扩展名联合筛选:将
[文件类型]参数按|分隔为多个模式,分别查询后合并。 - 每个文件通过
FileInfo获取大小和修改时间,大小除以 1024.0 转换为 KB 并保留两位小数。 - 修改日期格式固定为
yyyy-MM-dd HH:mm。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 目录不存在 | 错误:目录不存在(1行3列,后两列为空) |
| 其他异常 | 错误: {异常信息}(1行3列,后两列为空) |
| 无匹配文件 | 空数组 |