本帖最后由 zwy 于 2025-11-1 23:02 编辑
一个使用符号链接透明迁移大型目录的 Windows 工具
功能特性- ✅ 透明迁移: 使用目录符号链接 (mklink /D),应用程序无感知
- ✅ 可靠复制: 使用 robocopy 镜像复制,保留权限、时间戳和属性
- ✅ 实时进度: 显示复制进度、速度、预计剩余时间
- ✅ 安全回滚: 出错自动回滚至原始状态
- ✅ 路径验证: 阻止迁移系统关键目录
- ✅ 磁盘检查: 验证目标磁盘空间是否充足
- ✅ 大文件统计: 统计超过阈值的大文件数量
系统要求- Windows 10/11 (x64)
- .NET 8.0 Desktop Runtime(仅框架依赖版本需要)
- 管理员权限
- 目标推荐 NTFS 文件系统
迁移流程- 路径验证: 检查源/目标路径合法性,验证权限
- 扫描分析: 统计文件数量、总大小、大文件数
- 复制文件: 使用 robocopy 多线程镜像复制
- 创建链接: 将源目录重命名为备份,创建符号链接指向目标
- 健康检查: 验证符号链接可访问性
- 清理备份: 验证通过后删除备份目录
回滚策略- 任何步骤失败自动回滚
- 删除已创建的符号链接
- 还原原始目录
软件框架- .NET 8.0 平台
- WPF 框架(支持单文件自包含发布)
- MVVM 架构 (CommunityToolkit.Mvvm)
- 核心库分离 (MigrationCore) 便于复用
注意事项- 管理员权限: 建议以管理员身份运行
- NTFS 文件系统: 目标路径建议使用 NTFS,以保留完整文件属性
- 磁盘空间: 确保目标磁盘有足够空间(需源目录大小 + 10% 余量)
示例场景
场景 1: 迁移游戏目录将 C 盘的大型游戏迁移到 D 盘,游戏启动器仍能正常识别路径
场景 2: 迁移用户数据将 C:\Users\YourName\Documents 迁移到更大的磁盘
场景 3: 迁移开发环境缓存将 node_modules、.gradle 等大型缓存目录迁移到其他磁盘
场景 4: 迁移NovaStudio模型目录 将 NovaStudio\comfyui\models 、NovaStudio\comfyui\output、C:\LingLong\.llmodels 等大文件目录迁移到其他磁盘,比如D盘
更新:V1.1.1 - 2025-11-01 新增一键迁移模式(新功能)✨- 适配玲珑星核AI应用目录
- 迁移状态管理(未迁移/已迁移 Tabs)
- 完整的还原功能
- 中断与恢复策略
- 标记文件支持
还原模式(新功能)✨当您选择一个符号链接目录作为源目录时,应用会自动进入还原模式: - 选择源目录:选择要还原的符号链接目录
- 应用会自动检测这是一个符号链接
- 选择切换到还原模式
- 自动读取并填充目标路径
- 开始扫描:分析要还原的数据
- 开始还原:执行还原操作
- 选择清理方式:还原成功后,选择是否删除目标目录数据
bug修复 
更新:V1.1.2 测试版本,新增修复模式。 触发条件
- 手动模式:选择源路径和目标路径后,如果满足修复条件会显示"修复链接"按钮
修复流程
- 验证路径: 检查目标目录是否存在,路径关系是否合法
- 处理源路径:
- 源不存在 → 直接创建符号链接
- 源是符号链接 → 检查指向,错误则重建
- 源是空目录 → 删除后创建符号链接
- 源是非空目录 → 备份后创建符号链接,并创建 .xinghe-repair.info 标记文件
- 验证链接: 确认符号链接创建成功且可访问
- 清理备份: GUI 模式会询问是否将备份移入回收站(可恢复)
点击下载v1.1.2-beta
|