谷桐羽 2025-11-13 16:40 采纳率: 98.5%
浏览 10
已采纳

Mac如何批量提取文件名并导出为文本列表?

如何在Mac上批量提取指定文件夹内所有文件的名称,并将其导出为一个纯文本列表(.txt),以便后续处理或存档?要求操作高效、无需第三方软件,优先使用系统自带功能(如终端命令或快捷指令),同时支持包含子文件夹中的文件名,且避免输出多余路径信息,仅保留文件名本身。
  • 写回答

2条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-11-13 17:46
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案能帮助您,请采纳,非常感谢!
    .
    每日一句正能量,让它带给您好心情:相信自己的力量,你可以创造属于自己的奇迹。
    .

    在Mac上批量提取文件名并导出为文本列表,可以通过以下几种系统自带的方法实现:

    方法一:使用终端命令(推荐)

    1. 仅当前文件夹

    ls > filelist.txt
    

    2. 包含子文件夹(仅文件名)

    find /path/to/your/folder -type f -exec basename {} \; > filelist.txt
    

    3. 包含子文件夹(相对路径)

    find /path/to/your/folder -type f > filelist.txt
    

    4. 按字母顺序排序

    find /path/to/your/folder -type f -exec basename {} \; | sort > filelist.txt
    

    方法二:使用快捷指令(Automator)

    1. 打开「快捷指令」应用
    2. 创建新的快捷指令
    3. 添加以下动作:
    • 「获取指定的Finder项目」
    • 「获取文件夹内容」(勾选「包括子文件夹」)
    • 「文本」→ 设置文本内容为文件名称
    • 「存储文件」

    方法三:使用Automator工作流程

    1. 打开Automator
    2. 选择「工作流程」或「应用程序」
    3. 添加动作:
    • 「获取指定的Finder项目」
    • 「获取文件夹内容」
    • 「运行Shell脚本」→ 使用以下代码:
    for f in "$@"
    do
        basename "$f"
    done > ~/Desktop/filelist.txt
    

    实用示例

    假设要提取桌面「Documents」文件夹的所有文件名:

    cd ~/Desktop/Documents
    find . -type f -exec basename {} \; > ~/Desktop/filelist.txt
    

    注意事项

    • /path/to/your/folder 替换为实际文件夹路径
    • 可以使用拖拽方式获取完整路径:在终端输入命令后,将文件夹拖入终端窗口
    • 如需排除特定文件类型,可添加 -not -name "*.ext" 参数

    这些方法都无需安装第三方软件,且能高效完成文件名提取任务。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 11月14日
  • 创建了问题 11月13日