友链提交
请认真填写以下信息,谢谢!

博客信息

(请填写完整的网址,例如:https://www.example.com)
(贵站展示本站链接的页面地址,一般是友链页面,填写后将自动验证友链关系有效性)
(用于抓取文章)
(用于接收通知)
浮生闲记
2026-04-22
点 赞
0
热 度
1
评 论
0

CopyTree:右键一键复制目录树,开发者的效率小工具

  1. 首页
  2. 学习记录
  3. CopyTree:右键一键复制目录树,开发者的效率小工具

在日常开发中,你一定遇到过这样的场景:需要把项目的目录结构分享给同事、贴到文档里、或者发到群里讨论。传统做法是手动输入,或者用 tree 命令再复制终端输出——步骤繁琐,格式也不够美观。

所以我开源了一款小工具 —— CopyTree。它是一个 Windows 右键菜单工具,安装后只需在任意文件夹中右键点击,选择对应操作,目录树就会自动复制到剪贴板。整个过程不到两秒。

拥有多种不同的输出方式:可以附带文件大小或修改时间、转换为 Markdown 格式、按后缀名筛选文件、直接保存到文件……几乎覆盖了日常分享目录结构的所有场景。

本文将带你从下载安装到熟练使用,手把手掌握 CopyTree 的所有功能。


一、下载与安装

下载 CopyTree

  1. 前往 GitHub Releases 页面下载最新版本的 CopyTree.exe
  2. 下载地址:https://github.com/baoxinwen/CopyTree/releases
  3. 整个文件只有约 7 MB,无需安装 Python 或任何运行环境

说明:CopyTree 是单文件 exe,不依赖任何第三方库,下载后直接使用。

安装右键菜单

  1. 将下载的 CopyTree.exe 放到你喜欢的任意位置(比如 D:\Tools\
  2. 双击运行 CopyTree.exe,会弹出气泡通知提示“CopyTree 已就绪”
  3. 安装完成后,右键菜单 中会同时出现 CopyTree 的快捷方式

就这么简单——双击一下,右键菜单就已经注册好了。现在你可以右键任意文件夹试试,悬停到 “CopyTree” 就能看到所有操作选项。

copytree1.png


二、右键菜单使用

安装完成后,在任意文件夹上 右键点击,悬停到 “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. 复制目录树(过滤指定目录)

自动隐藏 .gitnode_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

四、自定义配置

打开配置文件

  1. 右键任意文件夹 → 悬停 “CopyTree” → 点击 “打开配置文件”
  2. 首次使用会自动生成配置文件,用记事本打开
  3. 配置文件位于 %APPDATA%\CopyTree\copytree.json

可配置项

配置项 说明 默认值
excludeDirs 排除的目录名列表 .gitnode_modules__pycache__
excludeFiles 排除的文件名列表 .DS_StoreThumbs.db
filterExt 按后缀筛选的扩展名列表 70+ 种源码扩展名
maxFiles 最大显示文件数 2000
maxItemsPerLevel 同一层级最大显示项数 200
maxDepth 默认显示深度(-1 = 不限制) -1
defaultFormat 默认输出格式(text / markdown) text
showFileSize 是否默认显示文件大小 false

配置文件自带中文注释,每项都有 __X说明 字段解释用途。修改后保存,下次使用右键菜单时即生效。

说明:如果配置改乱了,直接删除 copytree.json 文件,下次打开配置时会自动重新生成默认配置。

自定义排除目录示例

如果你希望默认排除 logstemp 目录,修改配置文件中的 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,一起让它变得更好。

项目地址https://github.com/baoxinwen/CopyTree


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

浮生闲记

intj 建筑师

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到浮生闲记的站点,为您导航全站动态

48 文章数
2 分类数
39 评论数
47标签数