📅 最后更新:2026年08月21日 | ✅ 本文由WPS Office编辑团队审核
最省事(无代码):在文件夹地址栏输入 cmd 回车,输入 DIR /B > file.txt,复制Txt里的内容直接贴进 WPS 表格。
最灵活(宏/VBA):打开 WPS 表格,按 ALT + F11 粘贴自动化脚本,选择目标文件夹,一秒抓取完整文件名、文件类型及更新时间。
最安全(日常排查):提取完报表后,推荐配合 WPS表格隐藏公式只显示数值 操作,防止导出的文件名索引被其他人误删修改。

月底整理档案、归档合同或者盘点项目资料时,最折磨人的莫过于打开一个装有几百个文件的文件夹,然后一个个右键“重命名”—“复制”—“粘贴”到 Excel 表格里。
前阵子我们团队搞资产盘点,新来的实习生傻傻捏着鼠标抄了整整一下午文件名,最后还因为漏抄了后缀名导致系统对不上。其实,利用 WPS 本身的功能加上一点点小技巧,几千个文件名提取到表格里,耗时不会超过 3 秒钟。
今天我把日常做数据治理时最实用的 3 个方法拿出来,从零基础的系统原装黑科技,到一劳永异的 WPS 自动化宏脚本,全部一次性讲透。
方法一:系统CMD极速提取法(零成本,3秒搞定)
如果你不想给 WPS 安装插件,也不想写复杂的代码,利用 Windows 系统自带的 CMD 命令,结合 WPS 表格是速度最快的方式。
步骤解析
-
打开你需要提取文件名的目标文件夹。
-
鼠标点击顶部路径地址栏,清空路径并直接输入
cmd,按 Enter 键。此时系统会自动弹出一个黑色的终端窗口。 -
在黑框里输入指令:
DIR /B > filename.txt(注意DIR和/B之间有空格),然后按下回车。 -
回到文件夹,你会发现多出了一个名为
filename.txt的文本文件。打开它,所有文件名(含后缀)已经排列得整整齐齐。 -
Ctrl+A 全选,复制并直接粘贴进 WPS 表格即可。
Plaintext
DIR 命令参数补充(内行隐藏参数):
DIR /B /A-D > filename.txt --> 仅提取文件,剔除文件夹本身
DIR /B *.xlsx > filename.txt --> 仅提取 Excel 格式的文件
方法二:WPS VBA/宏脚本(强力推荐,全自动一键抓取)
如果你每天都需要做档案汇总,CMD 法还是显得繁琐。通过 WPS 的“开发工具”(宏功能),我们可以做一个一键抓取按钮。
实战代码
打开 WPS 表格,按快捷键
ALT + F11 打开 VBA 编辑器,插入一个新模块(Module),粘贴以下经过测试的高效代码:VBA
Sub BatchExtractFilenames()
Dim folderPath As String
Dim fileName As String
Dim rowNum As Long
Dim fd As FileDialog
' 弹出文件夹选择框
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show = -1 Then
folderPath = fd.SelectedItems(1) & "\"
Else
Exit Sub
End If
' 初始化表格表头
Cells(1, 1).Value = "序号"
Cells(1, 2).Value = "文件名"
Cells(1, 3).Value = "文件路径"
rowNum = 2
Application.ScreenUpdating = False
' 遍历文件夹
fileName = Dir(folderPath & "*.*")
Do While fileName <> ""
Cells(rowNum, 1).Value = rowNum - 1
Cells(rowNum, 2).Value = fileName
Cells(rowNum, 3).Value = folderPath & fileName
rowNum = rowNum + 1
fileName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "文件名提取完成!共计提取 " & (rowNum - 2) & " 个文件。", vbInformation, "WPS高效办公"
End Sub
实操踩坑提示:部分免费版 WPS 默认没有开启 VBA 组件,如果按ALT + F11没有反应,需要先安装 WPS 的 VBA 支持库,或者直接使用 WPS 自带的 JSA(JavaScript for Applications) 脚本。
方法三:自定义函数 + 宏表函数 FILES(适合不离开表格的场景)
如果你不想搞命令行,也不想写复杂的 VBA 代码,可以通过 WPS 的名称管理器结合宏表函数来提取。
操作流程
-
定义名称:在 WPS 表格中,点击菜单栏的 【公式】->【名称管理器】->【新建】。
-
填写参数:
-
名称输入:
GetFiles -
引用位置输入:
=FILES("C:\你的文件夹路径\*.*")
-
-
调用结果:在单元格中输入公式
=INDEX(GetFiles, ROW(A1)),向下拖拽填充,即可依次显示出文件夹内的文件名。
方案对比与适用场景
为了方便大家根据具体工作选对工具,我做了一份实操对比表:
| 方案名称 | 操作难度 | 提取速度 | 是否需要写代码 | 适用场景 |
| CMD 命令行法 | ★☆☆☆☆ | 极快(1秒) | 不需要 | 临时需要提取大量文件名,快速交差 |
| VBA/JSA 宏脚本 | ★★★☆☆ | 极快(自动) | 一次性复制 | 每日固定流水线式归档,追求全自动化 |
| 宏表函数法 | ★★☆☆☆ | 中等 | 无需代码 | 习惯纯表格公式操作,不想离开 WPS 界面 |
核心操作 SOP 检查清单 (Checklist)
在进行批量文件名提取和数据汇总时,建议严格对照以下标准流程操作,避免踩坑:
-
[ ] 路径检查:文件夹路径中是否包含罕见的特殊符号(如
#,%),防止 CMD 或脚本读取报错。 -
[ ] 显示后缀:在 Windows 资源管理器中勾选“文件扩展名”,确保抓取到的文件名包含
.docx,.pdf等格式后缀。 -
[ ] 隐藏文件处理:检查文件夹中是否存在隐藏的系统缓存文件(如
Thumbs.db),防止其一同被写入表格。 -
[ ] 公式转换:若使用公式抓取,提取完成后请务必全选复制,并粘贴为“数值”。建议配合 WPS表格隐藏公式只显示数值 操作,避免源路径变更导致表格内容全部报错
#VALUE!。 -
[ ] 权限管控:导出的文件名及路径清册若涉及敏感业务,分发前需参考 WPS文档怎么设置只读权限 给文档施加保护,防止他人任意修改数据。
更多关于办公自动化与文档安全管理的内容,可以随时翻阅 WPS官方教程与技巧中心 获取最新的实用技巧。根据 Microsoft 官方 Cmd 规范,合理搭配命令行和办公软件,能帮你在数据整理上节省至少 80% 的时间。
FAQ(常见问题解答)
Q1:提取出的文件名带后缀(如 .docx),怎么快速把后缀去掉?
A:无需重新提取。在 WPS 表格中选中文件名列,按
Ctrl + H 打开替换功能,“查找内容”输入 .*,“替换为”留空,点击“全部替换”即可一键清除所有后缀名。或者直接使用 WPS 的 快速填充(快捷键 Ctrl + E),在旁边一列手动写一个无后缀的名称,向下拖动即可自动识别填充。Q2:如何同时提取子文件夹里的所有文件名?
A:如果使用 CMD 命令行,只需在指令里加一个
/S 参数。即输入:DIR /B /S > filename.txt,这样不仅能提取当前文件夹的文件,还能把层层嵌套的所有子文件夹内的文件名及绝对路径全部抓取出来。Q3:WPS 提取文件名出来后全是乱码怎么办?
A:这通常是因为文本文件的编码格式与 WPS 读取格式不匹配。使用 CMD 生成
filename.txt 后,右键用记事本打开它,点击“另存为”,将右下角的编码由 UTF-8 改为 ANSI 保存,再重新粘贴或导入 WPS 表格即可解决乱码。W
WPS Office编辑团队
办公软件技术与教程支持团队
办公软件技术与教程支持团队
本文由WPS Office编辑团队撰写和审核。我们持续跟踪WPS Office软件更新,为您提供最新的安装教程、使用技巧、问题解决方案和办公效率指南。如有疑问,欢迎在评论区留言。
📌 本文内容基于WPS Office官方文档和实际测试编写,转载请注明出处。



发表回复