一个简单但功能独特的 Windows 桌面应用程序,用于目录结构复制、文件整理、批量重命名、多格式导出等操作。
- 单层目录复制 - 仅复制选定目录的第一层空目录结构
- 选定层级复制 - 复制用户在树形视图中选择的目录结构
- 完整目录树复制 - 递归复制整个目录树结构(空目录)
- 自定义复制 - 灵活选择要复制的文件和目录
- 多格式导出功能 - 支持 10 种格式导出目录结构:TXT、HTML、HTML(含链接)、Markdown、Markdown(含链接)、DOCX、DOCX(含链接)、JSON、XLSX、XLSX(含链接)
- 可视化目录树 - 直观的树形视图展示目录结构
- 文件大小显示 - 实时显示文件和目录大小(KB 单位)
- 批量重命名 - 支持本级、选定层级和全部层级的批量重命名
- 智能错误处理 - 完善的权限和异常处理机制
- 简洁用户界面 - 简洁直观的图形用户界面
- 操作系统: Windows 7/8/10/11
- Python 版本: 3.8+(如果从源码运行)
- 基础依赖: tkinter(通常随 Python 安装)
- 可选依赖:
- python-docx(用于 DOCX 格式导出,程序会自动检测并提示安装)
- XlsxWriter(用于 XLSX 格式导出,程序会自动检测并提示安装)
- 从 Releases 页面下载最新版本的
DirCopyTool_20260906_V1.5.exe - 双击运行即可使用,无需安装 Python 环境
-
克隆仓库到本地:
git clone https://github.com/your-username/DirTreeCopy.git cd DirTreeCopy -
安装依赖:
pip install -r requirements.txt
-
运行程序:
python main_app.py
-
安装 PyInstaller:
pip install pyinstaller
-
运行构建脚本:
python build_script.py
- 选择源目录 - 点击"浏览"按钮选择要操作的源目录
- 选择目标目录 - 点击"浏览"按钮选择复制目标位置
- 选择操作模式 - 根据需要选择相应的复制或导出模式
- 执行操作 - 点击"开始复制或导出"按钮执行操作
- 仅复制一层目录: 只复制源目录下的直接子目录结构(空目录)
- 复制选定层级目录: 复制在树形视图中勾选的目录结构
- 复制所有层级目录: 递归复制整个目录树结构(空目录)
- 复制选定目录和文件: 灵活选择要复制的文件和目录,支持混合选择
- 显示筛选: 支持默认显示、只显示目录、只显示文件三种查看方式
- 导出目录文件名称: 生成目录结构文档,支持 10 种格式
- TXT 格式:纯文本树形结构,简洁清晰,适合快速查看
- HTML 格式:静态网页格式,美观易读
- HTML 格式(含链接):在 HTML 基础上添加可点击链接,直接打开文件
- Markdown 格式:适合文档编写和版本控制,支持 GitHub 等平台
- Markdown(含链接):使用 Markdown 列表输出可点击文件链接
- DOCX 格式:Microsoft Word 文档格式,专业文档输出
- DOCX 格式(含链接):Word 文档格式,支持真正的超链接,可直接点击打开文件
- JSON 格式:标准 JSON 树形结构,适合程序化处理
- XLSX 格式:Excel 表格格式,行列展示目录结构
- XLSX 格式(含链接):Excel 表格格式,支持可点击的文件链接
- 本级目录字符替换: 对源目录本级子目录进行字符串查找替换
- 全部目录字符替换: 递归对所有层级目录进行字符串查找替换
- 多维重命名本级目录名: 先勾选本级目录(可逐个勾选、"全选"或"取消全选"),再设置前缀、后缀、序号编号,仅对已勾选目录改名
- 多维重命名本级文件名: 先勾选本级文件(可逐个勾选、"全选"或"取消全选"),保持扩展名,支持批量编号
- 全层级目录名称修改: 先勾选各层级目录(可逐个勾选、"全选"或"取消全选"),执行精确匹配、通配符(直观替换)、正则表达式改名
- 各层级文件名称修改: 先勾选各层级文件(可逐个勾选、"全选"或"取消全选"),执行精确匹配、通配符(直观替换)、正则表达式改名
- 撤销/重做: 可撤销和重做最近的复制、重命名操作
- 操作历史: 查看详细的操作记录
- 清空选择: 清空目录树中的所有勾选
- 项目文件整理 - 整理开发项目的目录结构
- 文档归档 - 批量整理和复制文档文件
- 备份操作 - 选择性备份重要目录
- 目录结构分析 - 导出目录结构用于分析和文档
- 批量重命名 - 统一文件和目录命名规范
- 技术文档编写 - 使用 Markdown 格式导出,便于 GitHub 等平台展示
- 项目报告制作 - 使用 DOCX 格式生成专业的项目结构报告
- 快速文件访问 - 使用含链接的导出格式,一键打开目标文件
- 团队协作 - 分享带链接的目录结构,提高团队工作效率
- 多格式支持: 10 种导出格式,满足不同使用场景和需求
- DOCX 超链接技术: 使用底层 XML API 实现真正的可点击超链接
- 文件 URI 转换: 支持本地文件路径转换为 file:// 协议,兼容中文路径
- 依赖管理: 自动检测 python-docx、XlsxWriter 库,缺失时提供友好的安装指导
- 代码隔离: 新功能完全独立实现,不影响原有功能的稳定性
- 异常处理: 完善的文件权限和访问异常处理
- 内存优化: 高效的文件操作,适合处理大型目录
- 用户体验: 直观的进度反馈和错误提示
- 界面设计: 统一的字体样式和颜色方案,美观协调的用户界面
- 安全可靠: 路径安全验证,输入验证机制,无安全漏洞
- 🆕 多维重命名勾选式操作:"多维重命名本级目录名/文件名"改为先勾选再重命名,支持"全选/取消全选",仅对已勾选项执行改名
- 🆕 全层级目录名称修改:原"全部目录名修改"升级为"全层级目录名称修改",先勾选各层级目录再执行精确/通配符/正则改名,支持实时匹配数量统计与预览
- 🔄 各层级文件名称修改:原"文件名称修改"更名为"各层级文件名称修改"
- 🆕 关于对话框:新增"关于"按钮,显示版本、构建日期、作者、协议等信息
- 🔧 目录通配符直观替换:目录名称修改的通配符模式采用与文件一致的直观替换语义(如
项目*→归档_*) - 🐛 修复帮助信息显示异常:清理了帮助文本中误嵌入的代码注释
- 📚 文档完善:新增项目需求规格说明书、软件安装使用说明书、打包发布指南
- 🆕 文件名称修改功能:原"全部文件名修改"升级为"文件名称修改",可先勾选部分或全部文件再修改
- 🆕 勾选状态保留:点击"文件名称修改"按钮不再自动取消已勾选文件
- 🔧 对话框优化:显示已选文件数量、匹配模式说明联动、实时匹配文件数量统计、预览模式默认开启
- 🔧 通配符直观替换:替换为中的 * 和 ? 表示原文件名中对应位置匹配到的内容
- 🔄 版本信息更新:主程序、构建脚本与 spec 文件统一升级至 V1.4 / 20260828
- 🔄 版本信息统一:主程序、构建脚本与 spec 文件统一使用 V1.3 / 20260401 版本信息
- 🔄 帮助信息整理:版本说明与更新说明解耦,避免版本号更新后内容失真
- ⚡ 目录树性能优化:目录大小改为缓存计算,减少大目录场景的重复扫描
- 🧭 显示筛选隔离:默认显示、只显示目录、只显示文件与执行模式分离
- 🔗 Markdown(含链接)修正:导出结果改为标准 Markdown 链接列表
- 🛠️ 批量重命名修正:精确匹配和通配符匹配逻辑与界面说明保持一致
- ✨ 多格式导出功能:扩展到 10 种导出格式
- 🔗 DOCX 超链接功能:支持真正的可点击超链接,直接打开文件
- 🌐 文件 URI 转换技术:支持中文路径和特殊字符
- 🎨 UI 界面优化:导出格式选项采用单行紧凑布局
- 🎨 界面优化:统一字体样式和颜色方案
- ✨ 撤销/重做功能与操作历史记录
- 🔧 修复构建脚本重复导入问题
- ✨ 初始版本发布
欢迎提交 Issue 和 Pull Request 来改进这个项目!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT License 开源协议。
- 感谢 Python 社区提供的优秀工具和库
- 感谢所有测试用户的反馈和建议
☕ 如果你开心,欢迎送爱心请作者喝杯咖啡,让我更有动力去创造!
⭐ 如果这个项目对您有帮助,请给个 Star 支持一下!
