Skip to content

Repository files navigation

DirTreeCopy - 目录和文件复制及重命名工具

一个简单但功能独特的Windows桌面应用程序,用于目录结构复制、文件整理、批量重命名、多格式导出等操作。

🚀 功能特性

核心功能

  • 单层目录复制 - 仅复制选定目录的第一层空目录结构
  • 选定层级复制 - 复制用户在树形视图中选择的目录结构
  • 完整目录树复制 - 递归复制整个目录树结构(空目录)
  • 自定义复制 - 灵活选择要复制的文件和目录
  • 多格式导出功能 - 支持7种格式导出目录结构:TXT、HTML、HTML(含链接)、Markdown、Markdown(含链接)、DOCX、DOCX(含链接)

辅助功能

  • 可视化目录树 - 直观的树形视图展示目录结构
  • 文件大小显示 - 实时显示文件和目录大小(KB单位)
  • 批量重命名 - 支持本级、选定层级和全部层级的批量重命名
  • 智能错误处理 - 完善的权限和异常处理机制
  • 简洁用户界面 - 简洁直观的图形用户界面

📋 系统要求

  • 操作系统: Windows 7/8/10/11
  • Python版本: 3.8+ (如果从源码运行)
  • 基础依赖: tkinter (通常随Python安装)
  • 可选依赖: python-docx (用于DOCX格式导出,程序会自动检测并提示安装)

🛠️ 安装方式

方式一:直接下载可执行文件

  1. Releases 页面下载最新版本的 DirCopyTool_20260828_V1.4.exe
  2. 双击运行即可使用,无需安装Python环境

方式二:从源码运行

  1. 克隆仓库到本地:

    git clone https://github.com/your-username/DirTreeCopy.git
    cd DirTreeCopy
  2. 运行程序:

    python main_app.py

方式三:自行构建可执行文件

  1. 安装PyInstaller:

    pip install pyinstaller
  2. 运行构建脚本:

    python build_script.py

📖 使用说明

基本操作流程

  1. 选择源目录 - 点击"浏览"按钮选择要操作的源目录
  2. 选择目标目录 - 点击"浏览"按钮选择复制目标位置
  3. 选择操作模式 - 根据需要选择相应的复制或导出模式
  4. 执行操作 - 点击"开始复制"按钮执行操作

功能详解

复制模式

  • 复制单层目录: 只复制源目录下的直接子目录结构
  • 复制选中层: 复制在树形视图中选中的目录结构
  • 复制所有层级目录: 递归复制整个目录树结构(空目录)
  • 自定义复制: 灵活选择要复制的文件和目录
  • 显示筛选: 支持默认显示、只显示目录、只显示文件三种查看方式

多格式导出模式

  • 导出目录文件名称: 生成目录结构文档,支持10种格式
    • TXT格式:纯文本树形结构,简洁清晰,适合快速查看
    • HTML格式:静态网页格式,美观易读
    • HTML格式(含链接):在HTML基础上添加可点击链接,直接打开文件
    • Markdown格式:适合文档编写和版本控制,支持GitHub等平台
    • Markdown(含链接):使用Markdown列表输出可点击文件链接
    • DOCX格式:Microsoft Word文档格式,专业文档输出
    • DOCX格式(含链接):Word文档格式,支持真正的超链接,可直接点击打开文件
    • JSON格式:标准JSON树形结构,适合程序化处理
    • XLSX格式:Excel表格格式,行列展示目录结构
    • XLSX格式(含链接):Excel表格格式,支持可点击的文件链接

重命名功能

  • 重命名本级文件夹: 重命名当前目录下的文件夹
  • 重命名选中层: 重命名选中目录中的项目
  • 重命名全部: 递归重命名所有层级的文件和文件夹
  • 全部目录名修改: 精确匹配、通配符匹配、正则表达式匹配,递归处理所有目录
  • 文件名称修改: 先勾选需要修改的文件(可逐个勾选或点击"全选"),仅对勾选文件执行匹配替换;支持精确匹配、通配符(直观替换)、正则表达式,输入查找内容后实时显示匹配文件数量

🎯 使用场景

  • 项目文件整理 - 整理开发项目的目录结构
  • 文档归档 - 批量整理和复制文档文件
  • 备份操作 - 选择性备份重要目录
  • 目录结构分析 - 导出目录结构用于分析和文档
  • 批量重命名 - 统一文件和目录命名规范
  • 技术文档编写 - 使用Markdown格式导出,便于GitHub等平台展示
  • 项目报告制作 - 使用DOCX格式生成专业的项目结构报告
  • 快速文件访问 - 使用含链接的导出格式,一键打开目标文件
  • 团队协作 - 分享带链接的目录结构,提高团队工作效率

🔧 技术特性

  • 多格式支持: 7种导出格式,满足不同使用场景和需求
  • DOCX超链接技术: 使用底层XML API实现真正的可点击超链接
  • 文件URI转换: 支持本地文件路径转换为file://协议,完美兼容中文路径
  • 依赖管理: 自动检测python-docx库,缺失时提供友好的安装指导
  • 代码隔离: 新功能完全独立实现,不影响原有功能的稳定性
  • 异常处理: 完善的文件权限和访问异常处理
  • 内存优化: 高效的文件操作,适合处理大型目录
  • 用户体验: 直观的进度反馈和错误提示
  • 界面设计: 统一的字体样式和颜色方案,美观协调的用户界面
  • 代码质量: 完善的代码审查机制,健壮的错误处理
  • 安全可靠: 路径安全验证,输入验证机制,无安全漏洞
  • 跨平台兼容: 基于Python tkinter,理论上支持多平台

📝 更新日志

v1.4.0 (2026-08-28)

  • 🆕 文件名称修改功能:原"全部文件名修改"升级为"文件名称修改",可先勾选部分或全部文件再修改,不再默认修改全部文件
  • 🆕 勾选状态保留:点击"文件名称修改"按钮不再自动取消已勾选文件
  • 🔧 对话框优化:显示已选文件数量、匹配模式说明联动、实时匹配文件数量统计、预览模式默认开启
  • 🔧 通配符直观替换:替换为中的 * 和 ? 表示原文件名中对应位置匹配到的内容(如 *.txt 替换为 *.md)
  • 🔄 版本信息更新:主程序、构建脚本与 spec 文件统一升级至 V1.4 / 20260828

v1.3.0 (2026-04-01)

  • 🔄 版本信息统一:主程序、构建脚本与 spec 文件统一使用 V1.3 / 20260401 版本信息
  • 🔄 帮助信息整理:版本说明与更新说明解耦,避免版本号更新后内容失真
  • 目录树性能优化:目录大小改为缓存计算,减少大目录场景的重复扫描
  • 🧭 显示筛选隔离:默认显示、只显示目录、只显示文件与执行模式分离,降低误操作风险
  • 🔗 Markdown(含链接)修正:导出结果改为标准 Markdown 链接列表,提升可用性
  • 🛠️ 批量重命名修正:精确匹配和通配符匹配逻辑与界面说明保持一致

v1.2.0 (2025-06-25)

  • 多格式导出功能:从3种格式扩展到7种导出格式
  • 🔗 DOCX超链接功能:支持真正的可点击超链接,直接打开文件
  • 🌐 文件URI转换技术:完美支持中文路径和特殊字符
  • 🎨 UI界面优化:导出格式选项采用单行紧凑布局
  • 📦 依赖管理增强:自动检测python-docx库,提供友好安装指导
  • 🔧 代码隔离设计:新功能完全独立,确保原有功能稳定性
  • 📋 新增导出格式
    • HTML格式(含链接):可点击的网页链接
    • Markdown(含链接):支持文件链接的Markdown
    • DOCX格式:专业Word文档输出
    • DOCX格式(含链接):Word文档中的真实超链接

v1.1.0 (2025-01-18)

  • 🎨 界面优化:统一字体样式和颜色方案
  • 🎨 添加"重命名功能"标签,提升界面层次感
  • 🎨 优化框架标题显示,增强视觉效果
  • 🔧 修复构建脚本重复导入问题
  • 📝 完善项目文档和GitHub发布准备
  • ✅ 全面代码质量检查,确保生产就绪状态

v1.0.0 (2025-01-18)

  • ✨ 初始版本发布
  • ✅ 实现五大核心功能模块
  • ✅ 完善的用户界面和错误处理
  • ✅ 支持三种导出格式
  • ✅ 批量重命名功能

🤝 贡献指南

欢迎提交Issue和Pull Request来改进这个项目!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 开源协议

本项目采用 MIT License 开源协议。

🙏 致谢

  • 感谢Python社区提供的优秀工具和库
  • 感谢所有测试用户的反馈和建议

📞 联系方式

如有问题或建议,请通过以下方式联系:


⭐ 如果这个项目对您有帮助,请给个Star支持一下!

爱心打赏

☕ 如果你开心,欢迎送爱心请作者喝杯咖啡,让我更有动力去创造!

爱心 微信赞赏码


About

一个目录结构和文件名复制工具。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages