整理文件资料时,我们经常需要把某个文件夹下的所有文件名汇总到 Excel 或其他文档中。手工逐个复制,少则几十个,多则上千个文件,效率极低且容易遗漏。无论是做资产登记、批量归档,还是给资料做索引,怎么提取文件夹中所有文件名称 都是一个非常高频的需求。
本文结合我实际处理过的批量文件整理场景,分享三种可落地的方案:一款图形化工具、一组 bat 命令、一段 VBA 宏代码。

方案一:使用汇帮文件名提取器
汇帮文件名提取器是一款 Windows 平台下的 GUI 工具,定位就是解决“提取文件名”这一单一场景。它不需要任何代码基础,整个过程鼠标点击即可完成。
1. 核心功能优势
- 批量处理:支持将文件夹中的全部文件一次性导入,文件数量和类型不受限制
-
多种导出格式:支持导出为
Excel (.xlsx)、TXT、Word (.docx)三种格式 - 可自定义字段:可以选择是否包含完整路径、文件创建时间、修改时间等附加信息
- 纯本地运行:文件不上传,适合包含敏感信息的目录
2. 详细操作流程
步骤1:启动软件并选择提取模式
打开“汇帮文件名提取器”软件,在主界面中选择 “文件名提取” 选项并点击进入。

步骤2:导入目标文件夹中所有文件
点击左上角的 “添加文件” 按钮,将目标文件夹中的全部文件导入。这里特别说明一下:该步骤支持图片、视频、文档、压缩包等各种格式,没有数量上限。

步骤3:设置导出名称与格式
在右侧输入导出文件的名称,并选择导出格式。我这边选的是 Excel 文件,如果你后续只需要查看或做简单筛选,也可以选择 TXT 或 Word。

步骤4:配置需要包含的字段
软件默认会在导出结果中包含完整路径、创建时间、修改时间等字段。如果你只需要文件名本身,把多余的选项勾选去掉即可,这一步直接决定最终表格的列结构。

步骤5:执行提取并检查结果
点击 “开始提取” 按钮,软件会调用本机资源开始处理提取操作。当界面提示 “操作完成” 时,前往输出目录即可看到生成的 Excel 文件。
打开生成的 Excel 文件,可以看到所有文件名已被统一提取到工作表中,列结构清晰,无需二次清洗。

方案二:bat 命令提取
在 Windows 环境中,使用 bat 批处理文件是提取文件名最高效的零依赖方案。它不需要安装任何额外软件,思路就是用 dir 命令把文件名列表重定向输出到文本文件。
1. 适用场景
- 临时需要快速获取文件名列表
- 电脑不能安装第三方软件的环境
- 对导出格式没有额外要求,纯文本即可
2. 操作步骤
步骤1:在目标文件夹内新建一个 TXT 文本文件。
步骤2:在文本文件中写入以下命令:
DIR . /B > LIST.TXT
这里解释一下参数含义:dir 是 Windows 自带的文件列表命令;. 表示当前目录;/B 表示只输出文件名(不带大小、日期等额外信息);> 是重定向符,将结果写入 LIST.TXT 文件。
步骤3:将文件后缀名由 .txt 改为 .bat。系统弹出重命名提醒时,点击“是”确认。
步骤4:双击运行该 .bat 文件,稍等几秒,目录下就会自动生成 LIST.TXT 文件。
步骤5:打开 LIST.TXT,里面就是该文件夹下的所有文件名,每行一个。

3. 限制与注意点
- 该方法只提取当前目录下的文件,不会递归子文件夹。如需包含子目录,需要换用
dir /B /S > LIST.TXT - 生成的文件名包含扩展名(如
.pdf),且不含文件路径 - 输出的
LIST.TXT本身也会出现在列表中,属正常现象
方案三:VBA 宏提取
如果你希望把文件名直接提取到 Excel 单元格中,且后续数据操作也需要在 Excel 内完成,那么 VBA 宏是一个值得掌握的方案。VBA(Visual Basic for Applications)是 Office 内置的宏语言,无需额外安装运行时。
1. 实现逻辑
通过 VBA 调用文件系统对象(FileSystemObject),遍历文件夹,将文件名循环写入工作表。这样做的好处是提取结果与数据整理无缝衔接,适合需要经常做文件台账的同学。
2. 操作步骤
步骤1:新建 Excel 工作簿,另存为 .xlsm 格式(启用宏的工作簿)。
步骤2:点击工具栏的 “开发工具” → “Visual Basic” 打开 VBA 编辑器,双击左侧的 Sheet1,在代码区粘贴以下代码:
Sub ExtractFileNames()
Dim folderPath As String
Dim fileName As String
Dim rowNum As Integer
folderPath = "C:\你的文件夹路径\" ' 修改为实际路径,注意结尾反斜杠
rowNum = 1
fileName = Dir(folderPath & "*.*")
Do While fileName <> ""
Cells(rowNum, 1).Value = fileName
rowNum = rowNum + 1
fileName = Dir
Loop
MsgBox "文件名提取完成,共 " & rowNum - 1 & " 个文件"
End Sub
步骤3:返回 Excel 界面,点击 “开发工具” → “宏”,选中刚才创建的宏并运行。
步骤4:运行完成后,Sheet1 的 A 列即为所有文件名。若未找到“开发工具”选项卡,可在 Excel 选项的“自定义功能区”中手动开启。

3. 限制与报错排查
- 如果提示
找不到文件,检查文件夹路径末尾是否遗漏了反斜杠\ - 宏代码只提取当前文件夹第一层文件,不包含子文件夹
- 首次运行提示“宏被禁用”时,需在工作簿所在位置选择“启用内容”
方案总结与选型建议
维度
汇帮文件名提取器
bat 命令
VBA 宏
技术门槛
无,纯图形界面
低,需知道 dir 命令
中,需会粘贴代码
操作耗时
约 30 秒
约 1 分钟
约 5 分钟(含配路径)
导出格式
Excel / TXT / Word
TXT
Excel 单元格
是否包含子文件夹
支持,可配置
需改参数
需改代码
适用人群
办公用户、非技术人员
开发、运维
Excel 重度用户
“怎么提取文件夹中所有文件名称”这个问题,本质上没有唯一标准答案,核心看你的环境约束:
- 追求低门槛 + 可配置导出格式,选汇帮文件名提取器,尤其适合一次处理上千个文件、且需要把文件名整理进 Excel 的场景
- 只需要纯文本快速拿到文件名,选 bat 命令,十秒搞定
- 希望提取后直接在 Excel 里分类标记,选 VBA 宏,把提取和处理合并到一个工作流中
三种方法我都实测过,日常场景下完全够用。如果你在操作中遇到提取结果为空、路径错误或格式异常的问题,欢迎在评论区把具体现象发出来,我看到后会逐一回复排查思路。