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

如何读取磁盘嵌套文件夹与文件名并导出到Excel文件

多级嵌套磁盘资源Excel编目实现方案

方案1:PowerShell 批量导出+Excel快速整理(无需编码基础)

  • 打开需要编目的根文件夹,在顶部地址栏输入powershell后回车,直接打开当前路径下的PowerShell窗口
  • 执行导出命令,将所有文件、文件夹的全路径、类型、大小、修改时间等信息导出为CSV文件:
    Get-ChildItem -Recurse -Force | Select-Object FullName, PSIsContainer, Length, LastWriteTime | Export-Csv -Path "磁盘编目.csv" -Encoding UTF8 -NoTypeInformation
    其中PSIsContainer字段为True代表当前记录是文件夹,False代表是文件,Length为文件大小(单位字节)
  • 用Excel打开导出的磁盘编目.csv文件,预估路径最大嵌套层级,新增对应数量的列,依次命名为层级1、层级2……层级N
  • 选中层级1的第一个空白单元格,输入公式=TEXTSPLIT(A2,"\")(假设全路径存储在A列),回车后会自动按路径分隔符拆分内容填充到对应层级列,下拉公式即可完成全量路径的层级拆分
  • 补充:如果使用2019及更早版本Excel无TEXTSPLIT函数,可选中全路径列,依次点击「数据」选项卡→「分列」→选择「分隔符号」→下一步→其他输入\→点击完成,即可实现相同的拆分效果
  • 可额外添加条件格式,将PSIsContainer为True的行标注背景色,快速区分文件夹和文件

方案2:Excel VBA 一键生成编目(适合高频使用场景)

  • 打开Excel,按下Alt+F11调出VBA编辑器,右键点击左侧当前工作簿名称,选择「插入」→「模块」
  • 将以下代码粘贴到模块编辑区:
Sub 磁盘资源编目()
    Dim 根文件夹 As String
    Dim fso As Object
    Dim 输出行 As Integer
    '选择要编目的根文件夹
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = -1 Then 根文件夹 = .SelectedItems(1) Else Exit Sub
    End With
    Set fso = CreateObject("Scripting.FileSystemObject")
    '初始化表头
    输出行 = 1
    Cells(输出行, 1) = "全路径"
    Cells(输出行, 2) = "类型"
    Cells(输出行, 3) = "大小(字节)"
    Cells(输出行, 4) = "修改时间"
    Cells(输出行, 5) = "层级1"
    '调用递归遍历函数
    Call 遍历子文件夹(fso.GetFolder(根文件夹), 5, 输出行, fso)
    '自动调整列宽
    Columns.AutoFit
    MsgBox "编目完成,共生成" & 输出行 - 1 & "条记录"
End Sub

Sub 遍历子文件夹(当前文件夹 As Object, 当前层级 As Integer, ByRef 输出行 As Integer, fso As Object)
    Dim 子文件夹 As Object
    Dim 文件 As Object
    Dim 路径拆分 As Variant
    '输出当前文件夹信息
    输出行 = 输出行 + 1
    Cells(输出行, 1) = 当前文件夹.Path
    Cells(输出行, 2) = "文件夹"
    Cells(输出行, 3) = ""
    Cells(输出行, 4) = 当前文件夹.DateLastModified
    路径拆分 = Split(当前文件夹.Path, "\")
    For i = 0 To UBound(路径拆分)
        Cells(输出行, 5 + i) = 路径拆分(i)
    Next
    '输出当前文件夹下所有文件
    For Each 文件 In 当前文件夹.Files
        输出行 = 输出行 + 1
        Cells(输出行, 1) = 文件.Path
        Cells(输出行, 2) = "文件"
        Cells(输出行, 3) = 文件.Size
        Cells(输出行, 4) = 文件.DateLastModified
        路径拆分 = Split(文件.Path, "\")
        For i = 0 To UBound(路径拆分)
            Cells(输出行, 5 + i) = 路径拆分(i)
        Next
    Next
    '递归遍历所有子文件夹
    For Each 子文件夹 In 当前文件夹.SubFolders
        Call 遍历子文件夹(子文件夹, 当前层级 + 1, 输出行, fso)
    Next
End Sub
  • 回到Excel界面,按下Alt+F8调出宏窗口,选择「磁盘资源编目」点击执行,选择需要编目的根文件夹即可自动生成完整的层级编目内容,无需额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:06:03