使用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 格式。

希望这些信息能帮到你。

相关推荐
pe7er2 天前
macOS 应用无法打开(权限问题)解决方案
macos·mac
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest5 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技5 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~5 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
一个假的前端男5 天前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
倚肆5 天前
在 Windows Docker 中安装并配置 Nginx (映射 Windows 端口与路径)
windows·nginx·docker