巧用Excel批量提取文件夹中所有文件名称

在工作中,有时候,我们需要整理文件夹中的所有文件名称,并罗列在一张表格中。天哪,我的文件夹中有上千个文件,要我一个个的复制粘贴吗?太麻烦了吧?今天,跟着小编一起来探索一种巧妙的方法吧,提升百倍效率哦!

1、首先我们打开excel,点击“公式”选项卡,单击“定义名称”按钮,弹出如下对话框:

clip_image001

2、在“名称”框中,输入名称“文件名称列表”,在“引用位置”中输入您要查看的文件夹的具体位置 =FILES("G:\SoftWare\*.*"),单击“确定”。

clip_image002

3、接着,在A1单元格输入“=INDEX(文件名称列表,ROW(A1))”,回车。

clip_image004

4、鼠标放在A1单元格右下角的填充柄上,按住鼠标左键向下拖动,直到出现“#REF!”,就说明大功告成了!

clip_image006

注意:这种方法只是提取了G:\SoftWare中包含的单个文件的名称,并未提取里面所包含的子文件夹名称,这一点,小伙伴们要了解哦!

是不是炒鸡简单啊?小伙伴们要首先了解EXCEL中名称的含义与作用,还要了解INDEX函数、ROW函数的用法,就这样,So Easy!

哦,你还不明白啊?快来深圳微软技术中心学习吧!我们等着你哦!

群福利

群号码:615147109

1. Office安装程序及激活。

2. PPT模版,简历模版。

3. 原创图文教程。

4. 微软认证讲师直播公开课。

5. 微软认证讲师微课录像。

6. 微软认证讲师在线答疑。

7. 图片、图标素材。

8. 结识更多Excel大神。

9. 结交更多上进的小伙伴。

进群下载素材,进行练习:419562729

003ul3uUzy7cY8z7mkI54&690

### 批量读取文件夹内所有文件名的方法 在多种编程语言中,都可以通过特定的库或API实现批量读取文件夹内的所有文件名。以下是几种常见编程语言的具体实现方式。 #### C++ 实现 C++ 可以利用 Windows API 或标准库 `filesystem` 来完成此操作。如果目标平台为 Windows,则可以通过调用 `_findfirst` 和 `_findnext` 函数来遍历文件夹中的文件[^1]。另一种更现代的方式是使用 C++17 中引入的标准库 `<filesystem>`,它提供了跨平台的支持: ```cpp #include <iostream> #include <filesystem> namespace fs = std::filesystem; void listFiles(const std::string& path) { try { for (const auto & entry : fs::directory_iterator(path)) { if (entry.is_regular_file()) { // 判断是否为常规文件 std::cout << entry.path() << "\n"; // 输出文件路径 } } } catch (std::exception& e) { std::cerr << "Error: " << e.what() << '\n'; } } int main() { std::string folderPath = "./example_folder"; listFiles(folderPath); return 0; } ``` 该代码片段展示了如何使用 C++ 的 `<filesystem>` 库来列举指定文件夹下的所有文件[^3]。 --- #### C 实现 对于 C 语言而言,可以借助 POSIX 提供的函数接口(如 `opendir()`、`readdir()`),或者在 Windows 平台上使用 `_findfirst` 和 `_findnext` 函数。下面是一个基于 POSIX 接口的例子: ```c #include <stdio.h> #include <dirent.h> void listFiles(const char* dirName) { DIR *dir = opendir(dirName); // 打开目录 if (!dir) { perror("无法打开目录"); return; } struct dirent *entry; while ((entry = readdir(dir)) != NULL) { // 遍历目录条目 printf("%s\n", entry->d_name); // 输出文件/子目录名称 } closedir(dir); // 关闭目录句柄 } int main() { const char* folderPath = "./example_folder"; listFiles(folderPath); return 0; } ``` 此外,在获取到文件列表之后,还可以按照需求对其进行排序处理,例如采用冒泡排序或其他算法[^2]。 --- #### Python 实现 Python 是一种简单易用的语言,其内置模块 `os` 和第三方库 `pathlib` 均可轻松完成此类任务。以下是一段示例代码: ```python import os def list_files(directory_path): files_list = [] for root, dirs, files in os.walk(directory_path): # 遍历目录及其子目录 for file in files: full_path = os.path.join(root, file) # 获取完整路径 files_list.append(full_path) return files_list if __name__ == "__main__": directory = './example_folder' all_files = list_files(directory) for f in all_files: print(f) ``` 这段代码不仅列出了当前文件夹中的文件,还支持递归访问子文件夹并打印其中的内容[^5]。 --- #### VBA 实现 VBA 脚本通常用于 Microsoft Office 环境下自动化办公流程。要提取文件夹下的所有文件名Excel 表格中,可以用以下脚本: ```vba Sub ListAllFiles() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim iRow As Integer Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(ThisWorkbook.Path & "/example_folder") ' 修改为目标文件夹路径 iRow = 1 For Each objFile In objFolder.Files Cells(iRow, 1).Value = objFile.Name ' 文件名 Cells(iRow, 2).Value = objFile.Path ' 完整路径 iRow = iRow + 1 Next objFile MsgBox ("已完成!共找到 " & iRow - 1 & " 个文件.") End Sub ``` 以上代码会将目标文件夹中的所有文件名以及它们对应的绝对路径记录下来,并显示在一个弹窗消息框中[^4]。 --- #### 总结 不同语言有不同的工具集和语法风格,但核心逻辑基本一致——即枚举给定路径下的每一个项目,并判断它是文件还是子目录。最终选择哪种技术取决于具体的应用环境和个人偏好。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值