在日常开发中,你一定遇到过这样的场景:需要把项目的目录结构分享给同事、贴到文档里、或者发到群里讨论。传统做法是手动输入,或者用 tree 命令再复制终端输出——步骤繁琐,格式也不够美观。
所以我开源了一款小工具 —— CopyTree。它是一个 Windows 右键菜单工具,安装后只需在任意文件夹中右键点击,选择对应操作,目录树就会自动复制到剪贴板。整个过程不到两秒。
它拥有多种不同的输出方式:可以附带文件大小或修改时间、转换为 Markdown 格式、按后缀名筛选文件、直接保存到文件……几乎覆盖了日常分享目录结构的所有场景。
本文将带你从下载安装到熟练使用,手把手掌握 CopyTree 的所有功能。
一、下载与安装
下载 CopyTree
- 前往 GitHub Releases 页面下载最新版本的
CopyTree.exe - 下载地址:https://github.com/baoxinwen/CopyTree/releases
- 整个文件只有约 7 MB,无需安装 Python 或任何运行环境
说明:CopyTree 是单文件 exe,不依赖任何第三方库,下载后直接使用。
安装右键菜单
- 将下载的
CopyTree.exe放到你喜欢的任意位置(比如D:\Tools\) - 双击运行
CopyTree.exe,会弹出气泡通知提示“CopyTree 已就绪” - 安装完成后,右键菜单 中会同时出现 CopyTree 的快捷方式
就这么简单——双击一下,右键菜单就已经注册好了。现在你可以右键任意文件夹试试,悬停到 “CopyTree” 就能看到所有操作选项。

二、右键菜单使用
安装完成后,在任意文件夹上 右键点击,悬停到 “CopyTree” 即可展开二级菜单。菜单带有分隔线,分为四个功能组:
复制到剪贴板
这一组包含 6 个常用操作,所有结果直接复制到剪贴板:
1. 复制目录树(基础版)
最基本的操作,显示所有文件,不做任何过滤:
- 在目标文件夹上 右键 → 悬停 “CopyTree” → 点击 “复制目录树”
- 目录树瞬间复制到剪贴板,右上角弹出气泡通知显示统计信息
- 直接
Ctrl + V粘贴到任何地方即可
效果如下:
📁 my-project/
├── 📁 .git/
│ └── config
├── 📁 node_modules/
│ └── 📁 pkg/
│ └── index.js
├── 📁 src/
│ ├── main.py
│ └── 📁 utils/
│ ├── helper.js
│ └── style.css
├── image.png
└── package.json
说明:文件夹前会显示 📁 图标,层级关系用
├──和└──连线清晰呈现。
2. 复制目录树(过滤指定目录)
自动隐藏 .git、node_modules、__pycache__、build 等配置中指定的目录,只展示项目中有意义的文件:
📁 my-project/
├── 📁 src/
│ ├── main.py
│ └── 📁 utils/
│ ├── helper.js
│ └── style.css
├── image.png
└── package.json
3. 含附加信息
| 菜单选项 | 效果 |
|---|---|
| “复制目录树(含大小)” | 每个文件后显示大小,如 main.js (12.3 KB) |
| “复制目录树(含修改时间)” | 每个文件后显示日期,如 main.js (2026-04-22) |
4. 复制目录树(仅指定后缀文件)
只显示配置文件中 filterExt 指定后缀的文件,自动隐藏不含匹配文件的空目录。默认包含 70+ 种源码扩展名,你可以在配置文件中自定义。
5. 复制目录树(限2层)
项目层级太深时,只看前两层快速了解整体结构。
Markdown 格式
如果你要把目录树贴到 GitHub、博客或 Markdown 文档中:
| 菜单选项 | 效果 |
|---|---|
| “复制为 Markdown” | Markdown 代码块格式 |
| “复制为 Markdown(含大小)” | Markdown 代码块 + 文件大小 |
粘贴到 Markdown 编辑器后会自动渲染为格式化的代码块,无需手动处理。
保存到文件
直接保存到目标目录下的文件,同时也会复制到剪贴板:
| 菜单选项 | 保存位置 | 格式 |
|---|---|---|
| “保存为 txt” | directory_tree.txt |
纯文本 |
| “保存为 Markdown” | directory_tree.md |
Markdown 代码块 |
打开配置文件
点击后自动生成(如不存在)并用记事本打开配置文件,修改后下次使用右键菜单即生效。
三、命令行使用
除了右键菜单,CopyTree 也支持命令行直接调用,适合在终端中使用。
基本用法
在命令行中运行以下命令,将目录树输出到终端并复制到剪贴板:
CopyTree.exe "C:\Users\你的用户名\Projects\my-project"
常用参数组合
# 含文件大小
CopyTree.exe "C:\path\to\folder" --size
# 含修改时间
CopyTree.exe "C:\path\to\folder" --time
# Markdown 格式
CopyTree.exe "C:\path\to\folder" --format markdown
# 过滤指定目录(隐藏 .git、node_modules 等)
CopyTree.exe "C:\path\to\folder" --filter
# 按配置文件中 filterExt 筛选后缀
CopyTree.exe "C:\path\to\folder" --filter-ext
# 仅源码文件(内置 70+ 扩展名列表)
CopyTree.exe "C:\path\to\folder" --source-only
# 只显示 2 层深度
CopyTree.exe "C:\path\to\folder" --max-depth 2
# 保存为 txt 文件
CopyTree.exe "C:\path\to\folder" --save
# 保存为 Markdown 文件
CopyTree.exe "C:\path\to\folder" --save-md
# 额外排除指定目录(可多次使用)
CopyTree.exe "C:\path\to\folder" --exclude logs --exclude temp
参数可以自由组合。例如,导出一个只含指定后缀、限 2 层、带文件大小的 Markdown 文件:
CopyTree.exe "C:\path\to\folder" --filter-ext --max-depth 2 --size --save-md
四、自定义配置
打开配置文件
- 右键任意文件夹 → 悬停 “CopyTree” → 点击 “打开配置文件”
- 首次使用会自动生成配置文件,用记事本打开
- 配置文件位于
%APPDATA%\CopyTree\copytree.json
可配置项
| 配置项 | 说明 | 默认值 |
|---|---|---|
excludeDirs |
排除的目录名列表 | .git、node_modules、__pycache__ 等 |
excludeFiles |
排除的文件名列表 | .DS_Store、Thumbs.db 等 |
filterExt |
按后缀筛选的扩展名列表 | 70+ 种源码扩展名 |
maxFiles |
最大显示文件数 | 2000 |
maxItemsPerLevel |
同一层级最大显示项数 | 200 |
maxDepth |
默认显示深度(-1 = 不限制) | -1 |
defaultFormat |
默认输出格式(text / markdown) | text |
showFileSize |
是否默认显示文件大小 | false |
配置文件自带中文注释,每项都有 __X说明 字段解释用途。修改后保存,下次使用右键菜单时即生效。
说明:如果配置改乱了,直接删除
copytree.json文件,下次打开配置时会自动重新生成默认配置。
自定义排除目录示例
如果你希望默认排除 logs 和 temp 目录,修改配置文件中的 excludeDirs 即可:
{
"excludeDirs": [".git", "node_modules", "__pycache__", "logs", "temp"]
}
自定义后缀筛选示例
“复制目录树(仅指定后缀文件)” 功能默认使用 70+ 种源码扩展名。如果你只想看特定类型的文件,修改 filterExt 即可。比如只看图片文件:
{
"filterExt": [".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp"]
}
修改后保存,再次使用右键菜单的 “复制目录树(仅指定后缀文件)” 就只显示图片了。
五、卸载
如果你想移除 CopyTree,只需一行命令:
CopyTree.exe --uninstall
运行后会清除所有右键菜单注册表项和开始菜单快捷方式,弹出气泡通知确认卸载完成。之后你可以放心删除 CopyTree.exe 文件。
注意:卸载不会删除配置文件。如果你希望彻底清除,可以手动删除
%APPDATA%\CopyTree\文件夹。
常见问题
Q1:双击运行后没看到通知?
双击运行会自动安装并弹出“CopyTree 已就绪”的通知。如果没看到通知,请尝试右键点击一个文件夹查看——你的系统可能未开启通知弹窗,但菜单已经注册成功。
Q2:右键菜单中没有 CopyTree 选项?
请确认已经双击 exe 执行过安装。如果已经安装过但仍看不到,请尝试重启资源管理器:打开 任务管理器 → 找到 “Windows 资源管理器” → 右键选择 “重新启动”。
Q3:支持哪些系统?
目前仅测试了Windows 10 及以上 版本。由于使用了 Windows 专属的右键菜单注册机制,不支持 macOS 和 Linux。
Q4:需要管理员权限吗?
不需要。CopyTree 将右键菜单注册在当前用户的注册表下(HKEY_CURRENT_USER),无需管理员权限即可安装和使用。
如果你觉得它有用,欢迎前往 GitHub 仓库 点个 Star 支持一下!也欢迎提交 Issue 或 PR,一起让它变得更好。
默认评论
Halo系统提供的评论