符号链接搬家工具
给文件「挪窝」的同时,在原位置留个「传送门」,让所有依赖路径保持有效。
功能概览
- 搬家模式 — 将文件/文件夹移动到新位置,原位置自动创建符号链接或硬链接,所有引用该路径的程序不受影响
- 仅创建链接模式 — 不移动原文件,直接在目标目录生成链接,适合为散落文件建立统一访问入口
- 支持符号链接与硬链接 — 符号链接可跨分区、可链接目录;硬链接与源文件平权,删除任一方不影响另一方
- 镜像搬家模式 — 保持源目录的完整层级结构,适合整体迁移项目文件夹
- 操作日志与进度追踪 — 实时查看复制进度,每次操作自动记录结果,方便追溯
快速上手
场景一:为占用空间的文件夹「腾地方」
问题:D:/Downloads/Games/ 下的游戏资源占满了系统盘,你想把它们移到 E:/Archive/Games/,但 Steam 等启动器坚持要读原来的路径。
操作步骤:
- 在工具页面中,点击「选择文件夹」按钮,找到
D:/Downloads/Games/ - 右侧「操作模式」确认选中 搬家模式
- 点击「目标目录」的「选择」按钮,定位到
E:/Archive/Games/ - 「链接类型」保持默认的 符号链接
- 点击底部 「开始搬家」 按钮
结果:文件全部移到了 E:/Archive/Games/,而 D:/Downloads/Games/ 位置留下了一个符号链接,启动器仍然可以正常读取。
场景二:给散落的配置文件建一个统一入口
问题:.npmrc、.gitconfig、.ssh/config 散落在用户目录各个角落,你想在 D:/Configs/ 集中管理。
操作步骤:
- 切换操作模式为 仅创建链接
- 逐一添加这些配置文件(支持拖拽或文件选择器)
- 目标目录选
D:/Configs/ - 链接类型保持 符号链接
- 点击 「创建链接」
结果:原文件不动,D:/Configs/ 下生成了指向它们的符号链接,方便统一浏览和管理。
功能详解
操作模式
| 模式 | 行为 | 适用场景 |
|---|---|---|
| 搬家模式 | 将源文件移动到目标目录,原位置创建链接 | 释放磁盘空间,同时保持旧路径可用 |
| 仅创建链接 | 源文件不动,仅在目标目录创建链接 | 集中管理分散的文件,不作物理移动 |
链接类型对比
| 特性 | 符号链接(Symlink) | 硬链接(Hard Link) |
|---|---|---|
| 跨分区/跨盘 | ✅ 支持 | ❌ 不支持 |
| 链接目录 | ✅ 支持 | ❌ 不支持 |
| 源文件删除后 | ❌ 链接失效 | ✅ 另一个副本仍在 |
| 文件平等性 | 链接是「快捷方式」 | 与原文件数据完全平等 |
| ⚠️ 链接限制 | — | 仅链接模式下不支持硬链接 |
如何选择? 日常使用首选符号链接,它灵活、无限制。硬链接仅在需要「文件多副本但物理只存一份」时适用(如代码仓库的 node_modules)。
镜像搬家模式
当源目录结构需要完整保留时,开启「镜像搬家模式」并指定 基准源目录。
示例:
- 源文件:
D:/Projects/MyApp/src/components/Button.vue - 基准源目录:
D:/Projects/MyApp/ - 目标目录:
E:/Archives/MyApp/ - 搬家后目标路径:
E:/Archives/MyApp/src/components/Button.vue
不加镜像模式时,目标目录会是 E:/Archives/MyApp/Button.vue,层级丢了。
文件列表管理
- 添加方式:支持文件选择器、文件夹选择器、手动输入路径、拖拽文件/文件夹
- 自动去重:相同路径不会重复添加
- 状态标识:待处理(pending)、处理中(processing)、成功(success)、错误(error)
- 验证反馈:添加文件后自动验证,硬链接跨分区或链接目录时会显示警告
进度与日志
- 实时进度条:显示当前正在复制的文件名、已复制字节数、总字节数、百分比进度
- 操作日志滚动条:底部区域显示最近一次操作摘要(模式+链接类型+成功数+耗时+大小)
- 日志详情弹窗:点击日志滚动条可查看完整历史记录,包含每次操作的时间、类型、成功/失败统计、错误详情
高级用法
通过 LLM 调用
该工具已注册为系统服务,LLM 可以根据上下文自动调用。支持以下操作:
moveAndLink()— 执行搬家操作createLinksOnly()— 仅创建链接getLatestOperationSummary()— 获取最近一次操作摘要getOperationHistory(limit?)— 获取操作历史
批量处理大型文件夹
处理包含数百个文件的大型目录时,工具提供:
- 取消操作:处理过程中可随时取消,已移动的文件不会回滚,未处理的文件保持原状
- 逐文件状态追踪:每个文件独立记录成功/失败状态,支持查看失败详情
- 错误隔离:单个文件失败不会影响其他文件的处理
配合目录清洁工具
搬家完成后,建议使用[目录清洁工具](./directory-janitor)扫描原目录中的空文件夹和残留文件,彻底清理磁盘空间。
常见问题
为什么硬链接选项是灰色的?
仅创建链接模式下不支持硬链接,因为硬链接需要源文件和目标在同一分区,且不能链接目录。如果需要在不同分区操作,请使用符号链接。
搬家到一半能取消吗?已移动的文件会怎样?
可以随时点击「取消操作」按钮。已移动的文件不会自动回滚。这是一种权衡设计——根据场景选择继续手动清理或保持现状。
操作日志存在哪里?能持久化多久?
日志通过 Tauri 后端持久化存储在本地,每次操作都会写入日志文件。可以在日志弹窗中查看所有历史记录,不受重启影响。
符号链接和 Windows 快捷方式有什么区别?
符号链接(Symlink)是文件系统级别的链接,对应用程序完全透明。程序访问链接路径时,操作系统会自动重定向到目标路径,程序本身感知不到。而快捷方式(.lnk)是文件级引用,只有 Windows 资源管理器和部分程序识别。
拖拽文件和文件夹有什么限制?
支持从文件资源管理器(资源管理器)拖拽文件和文件夹到工具的文件列表区域。拖放区域会高亮提示。也支持将目录拖拽到目标目录和基准源目录的输入框中。