Excel中快速批量获取文件路径有四种方法:一、用CELL函数提取当前工作簿路径;二、用Power Query导入文件夹自动生成路径表;三、用VBA宏遍历指定文件夹输出路径;四、用CMD命令导出路径再导入Excel。

如果您需要在Excel中快速获取多个文件的完整路径,而不是手动逐个输入,可以使用内置函数或VBA代码实现批量提取。以下是几种可直接操作的方法:
一、使用CELL函数配合填充柄(适用于当前工作簿路径)
CELL函数能返回活动单元格所在工作簿的完整路径与文件名,但需配合间接引用和填充操作实现“类批量”效果。该方法无需编程,适合临时获取本工作簿位置信息。
1、在任意单元格(如A1)中输入公式:=CELL("filename",A1)。
2、按Enter确认后,该单元格将显示包含方括号的完整路径,例如:C:\Reports\[Sales.xlsx]Sheet1。
3、复制A1单元格,粘贴至其他目标单元格区域(如A2:A100),公式自动更新引用,但CELL("filename",X)始终返回当前工作簿路径,因此所有结果一致。
4、若仅需路径不含文件名,可用SUBSTITUTE与FIND嵌套截取,例如:=LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1))-1)。
二、使用Power Query导入文件夹并提取路径(适用于外部文件)
Power Query可扫描指定文件夹下所有文件,并自动生成含完整路径的表格,支持.xlsx、.csv等多种格式,且结果可刷新更新。
1、点击【数据】选项卡 → 【获取数据】→ 【从文件】→ 【从文件夹】。
2、在弹出窗口中浏览并选择目标文件夹,点击【确定】。
3、Power Query编辑器自动加载文件列表,在【Content】列右侧点击展开按钮,勾选【Name】和【Folder Path】,取消勾选其他字段。
4、点击【合并列】,选择【Folder Path】和【Name】,分隔符设为空字符串,生成完整路径列。
5、点击【关闭并上载】,路径数据即导入Excel新工作表。
三、运行VBA宏遍历文件夹获取路径(完全自定义批量)
VBA可精准控制搜索范围、文件类型、是否含子文件夹等参数,一次性输出全部匹配文件的绝对路径,适合固定目录结构下的重复操作。
1、按Alt+F11打开VBA编辑器,插入新模块(右键→插入→模块)。
2、粘贴以下代码:
Sub GetFilePaths()
Dim fso As Object, folder As Object, file As Object
Dim pathStr As String, ws As Worksheet
Set ws = ActiveSheet
pathStr = "C:\YourTargetFolder\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(pathStr)
ws.Cells.Clear
ws.Range("A1").Value = "文件路径"
Dim i As Long: i = 2
For Each file In folder.Files
ws.Cells(i, 1).Value = file.Path
i = i + 1
Next file
End Sub
3、修改代码中"C:\YourTargetFolder\"为实际目标文件夹路径(末尾保留反斜杠)。
4、按F5运行宏,当前工作表A列将填入该文件夹内所有文件的完整路径。
四、使用CMD命令导出路径再导入Excel(免代码批处理)
通过Windows命令提示符执行dir指令,将结果保存为文本文件,再用Excel导入,适合无VBA权限或需跨设备复用路径列表的场景。
1、按下Win+R,输入cmd并回车,进入命令提示符。
2、输入命令:dir /s /b "C:\YourTargetFolder\*.xlsx" > "C:\paths.txt"(替换路径及扩展名)。
3、等待执行完成,在C盘根目录生成paths.txt,内含所有匹配文件的绝对路径,每行一个。
4、在Excel中点击【数据】→【从文本/CSV】,选择paths.txt,导入向导中分隔符选【无】,加载至工作表。










