使用tree命令导出文件夹/文件的目录树( Windows 和 macOS)

你可以在终端(命令提示符)中使用 tree 命令来清晰直观地查看和导出文件夹的目录结构。下面我会详细告诉你如何在 Windows 和 macOS 上使用它。

🖥️ tree 命令基本用法

tree 命令的核心作用是以树状图的形式展示指定路径下的目录和文件结构。你可以控制其输出的详细程度(是否包含文件)、显示深度以及输出格式。

在 Windows 上:

Windows 系统自带的 tree 命令常见参数如下:

  • [drive:][path]: 指定要显示的驱动器和目录。如果省略,默认为当前目录
  • /F: 显示所有目录中的文件名。如果不加此参数,则默认只显示文件夹。
  • /A: 使用 ASCII 字符而不是扩展字符来绘制树形图,这可能在兼容性不好的环境中更有用。
在 macOS 上:

macOS 默认没有 tree 命令,需要先通过 Homebrew 安装:

bash 复制代码
brew install tree

macOS 的 tree 命令参数更丰富一些:

  • -d: 只显示目录,不显示文件。
  • -L n: 指定遍历的层级深度 (n 代表数字)。例如,tree -L 2 只显示当前目录下两层的内容。
  • -I pattern: 排除 不想显示的文件或文件夹模式(支持正则表达式)。例如,tree -I "node_modules|.git" 可以过滤掉 node_modules 文件夹和 .git 文件夹。

💡 导出目录树到文件

tree 命令的输出结果可以直接保存到文本文件中,方便你存档或进一步处理。这是通过命令行的重定向功能>>>)实现的。

基本语法

bash 复制代码
tree [参数] [目录路径] > 输出文件路径
  • 如果输出文件不存在,系统会自动创建它。
  • 如果使用 >,会覆盖 已存在的文件;如果使用 >>,则会将结果追加到现有文件的末尾。

常用导出示例

  1. 导出当前目录的完整结构(包含文件和文件夹)

    bash 复制代码
    tree /f > tree.txt
  2. 导出指定目录的结构(只包含文件夹,使用 ASCII 字符)

    bash 复制代码
    tree /a D:\Projects > D:\project_tree.txt
  3. 在 macOS 上导出当前目录的结构,但只显示两层深度,并排除 DS_Store 文件

    bash 复制代码
    tree -L 2 -I ".DS_Store" > structure.txt

📖 命令示例表

下面是一些常见情况的命令示例汇总,希望能帮你快速上手:

如果你想... 可以尝试的命令(Windows) 可以尝试的命令(macOS) 说明
快速查看当前目录的文件夹结构 tree tree -d Windows 默认只显示文件夹;macOS 需加 -d 参数
详细查看当前目录的文件和文件夹 tree /f tree macOS 安装后默认就会显示文件
当前目录 的完整结构导出list.txt tree /f > list.txt tree > list.txt 文件会保存在当前目录下
指定目录 (如 D:\Work)的结构导出到指定位置 tree /f D:\Work > C:\tree_export.txt tree ~/Documents > /Users/Name/doc_tree.txt 注意指定完整的路径
只导出文件夹(不包含文件) tree > folders_only.txt tree -d > folders_only.txt
控制显示和导出的层级(例如最多2层) 需借助其他命令 tree -L 2 > output.txt Windows 的 tree 命令原生不支持 /L 参数
排除特定文件夹/文件 (如 node_modules 需借助其他命令 tree -I "node_modules" > output.txt Windows 的 tree 命令原生不支持排除功能

⚠️ 注意事项

  • macOS 安装 :记得 macOS 上需要先通过 brew install tree 来安装。
  • Windows 参数差异 :Windows 的 tree 命令参数(如 /F, /A)和 macOS/Linux 版本(如 -d, -L, -I)有所不同,注意不要混淆。
  • 输出格式:直接导出的文件是纯文本格式(.txt)。如果需要更高级的格式(如 CSV、Markdown),通常需要借助脚本或其他工具进行二次处理。
  • 权限问题 :如果要列出系统文件或受保护目录的内容,在 Windows 上可能需要以管理员身份运行命令提示符(CMD)或 PowerShell。

🔍 替代方案

如果 tree 命令无法满足你的需求,这里还有一些其他方法:

  • 使用 PowerShell (Windows)
    PowerShell 的 Get-ChildItem 命令功能非常强大。例如,递归列出当前目录所有文件和文件夹并导出到 CSV:

    powershell 复制代码
    Get-ChildItem -Recurse | Select-Object FullName | Export-Csv -Path files.csv -NoTypeInformation

    不过,这种方式生成的不是树形图,而是平面列表。

  • 使用图形化工具 (Windows)
    有一些第三方小工具(如搜索中提到的 "FolderTree")可以提供图形界面,一键生成目录树并导出为 Excel 或 CSV 格式。

希望这些信息能帮到你。

相关推荐
酷炫码神2 小时前
第 2 篇:Java 入门实战(JDK8 版)—— 编写第一个 Java 程序,理解基础运行逻辑
java·开发语言·策略模式
特立独行的猫a2 小时前
仓颉语言编程入门:第一个 Windows 下的仓颉应用程序
windows·入门·仓颉
心灵宝贝14 小时前
Kite Compositor for Mac v2.1.2 安装教程|DMG文件安装步骤(Mac用户必看)
macos
Light6016 小时前
领码方案|Windows 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
windows·ghostscript.net·权限治理·异步转换·进度推送·redis 存储·kubernetes 部署
他们都不看好你,偏偏你最不争气18 小时前
【iOS】UIViewController
开发语言·macos·ios·objective-c·cocoa
染指111019 小时前
11.ImGui-加载字体和中文
c++·windows·imgui
李游Leo20 小时前
Rust 开发环境安装与 crates.io 国内源配置(Windows / macOS / Linux 全流程)
windows·macos·rust
小王不爱笑13221 小时前
Java基础知识(十四)
java·windows·python
sc_yhsheng21 小时前
18j621-3通风天窗图集pdf(免费高清版)
windows·pdf