本作品采用 知识共享署名-非商业性使用 4.0 国际 (CC BY-NC 4.0) 协议授权。允许他人免费非商业性使用、改编和传播作品,但必须清晰标注原作者署名,且禁止任何商业用途(如销售、广告、盈利项目等),修改后的衍生作品也需遵循相同条款(署名+非商用),商业使用需额外获得授权。详见LICENSE文件。
TreeSync 是一款基于结构树文档(Markdown 格式),自动批量创建、同步本地文件夹和文件结构的命令行工具。支持结构对比高亮、自动依赖安装、详细日志、灵活导出等,适合资料整理、项目初始化、批量目录搭建等场景。
功能特性
- 结构树文档解析:支持 Markdown 风格树形结构,自动识别文件夹/文件,支持图标。
- 批量创建结构:一键新建文件夹和文件,已存在项自动跳过。
- 结构对比与高亮:对比文档与实际目录,彩色高亮显示新增(绿色)/多余(红色)节点。
- 多格式导出:结构树可导出为
.md和.txt,支持桌面和脚本目录多路径导出。 - 自动依赖安装:首次运行自动检测并提示安装 colorama、pypinyin 等依赖。
- 详细日志记录:所有操作、异常均记录在
logs/TreeSync_时间戳.log,终端输出与日志严格同步。 - 多种排序方式:支持按名称、时间、大小、类型等多种方式排序。
- 命令行参数灵活配置:可自定义结构树文档路径、目标根目录、日志级别等。
- 用户友好交互:路径缺失时自动提示输入,根目录不存在自动创建。
环境要求
- Python 3.7 及以上
- Windows(推荐,支持彩色终端),Linux/Mac 亦可运行(部分功能略有差异)
安装依赖
首次运行脚本时会自动检测依赖,如缺失会提示一键安装。你也可以手动安装:
pip install colorama pypinyin使用方法
结构树文档示例(支持带图标或纯文本):
📁 项目根目录
├─ 📁 数据
│ ├─ 📄 data1.csv
│ └─ 📄 data2.csv
├─ 📁 代码
│ └─ 📄 main.py
└─ 📄 README.md
基本用法:
python TreeSync.py -s 结构树文档路径 -r 目标根目录参数说明:
| 参数/选项 | 说明 | 示例 |
|---|---|---|
| -s, --structure | 结构树文档路径(必填) | -s 文件架构.md |
| -r, --root | 目标根目录路径(必填) | -r D:\Maverick |
| -l, --log-level | 日志级别(debug/info/warning/error) | -l debug |
| --auto-install | 自动安装依赖,无需人工确认 | --auto-install |
示例:
python TreeSync.py -s 文件架构.md -r D:\Maverick主要功能说明
- 解析 Markdown 树形结构,自动识别文件夹(📁)和文件(📄)。
- 按结构批量新建文件夹和空文件,已存在项自动跳过。
- 根目录不存在时自动创建。
- 对比结构树文档与实际目录,标记并高亮显示:
- 绿色:文档中有但实际没有(新建节点)
- 红色:实际有但文档中没有(多余节点)
- 默认色:一致节点
- 自动导出结构树为 Markdown(.md)和纯文本(.txt)两种格式。
- 支持导出到桌面和脚本目录,导出文件包含生成时间和脚本版本信息。
- 所有操作、异常均记录在
logs/TreeSync_时间戳.log文件中。 - 终端输出与日志内容严格同步,便于追溯和排查。
配置参数
可在 Config 类中自定义全局参数,如图标、导出路径、排序方式、是否高亮、是否输出结构树到终端等。
常见问题
-
依赖安装失败?
- 请确保已安装 pip 并联网,或手动安装依赖包。
-
路径无效或权限不足?
- 请检查目标路径是否存在、格式是否正确,或以管理员身份运行。
-
终端不显示彩色?
- Windows 10 及以上建议使用新版终端或 PowerShell,确保 colorama 正常工作。
-
结构树文档格式有误?
- 请确保每一行正确缩进,文件夹/文件前缀符号一致。
贡献与反馈
- 作者:兰宏(LanHong)
- 联系方式:xyz9010@outlook.com
如需更详细的参数说明或高级用法,请查阅脚本内注释或联系作者。