Hermes C 盘空间爆满?利用 Windows mklink 无损迁移数据到其他磁盘

AI 文章摘要

文章介绍了如何使用Junction目录联接技术无损地将Hermes软件的数据从C盘迁移到D盘或其他大容量磁盘。通过这种方法,无需修改软件配置或注册表,即可实现数据迁移,同时保持C盘路径不变。文章详细说明了迁移的准备工作、操作步骤和常见问题,包括如何使用管理员权限的CMD执行命令、备份数据、创建目录联接等。此外,还介绍了如何使用Windows内置的mklink命令作为Junction的替代方案。...

前言

Hermes 在 Windows 环境安装完成后,默认会将缓存、配置、日志、会话数据全部存放于用户目录下的AppData\Local\hermes,所有数据默认写入 C 盘。软件长期运行后,该目录体积会持续增长,极易造成系统盘空间占满、磁盘变红,影响系统和软件正常运行。

Hermes 本身没有提供直接修改数据存储路径的配置项,直接修改软件配置文件容易引发程序异常。借助 Windows NTFS 文件系统自带的mklink目录联接功能,无需修改软件配置、不改动注册表,就可以把真实数据迁移到 D 盘或者其他大容量磁盘。程序仍然访问原本的 C 盘路径,底层读写实际重定向到其他磁盘,实现无损迁移。

目录联接不等同于普通快捷方式,属于系统级别的目录重定向,绝大多数 Windows 软件可以做到无感知正常运行。

准备工作

  1. 完全关闭 Hermes 程序,结束所有 Hermes 相关后台进程,避免文件被占用,导致文件复制、删除操作失败。
  2. 做好数据备份,备份%LOCALAPPDATA%\hermes目录下全部文件,防止误操作造成数据丢失。
  3. 必须使用管理员权限打开 CMD 命令提示符,普通 CMD、PowerShell 执行会出现权限报错。

迁移操作步骤

  1. Hermes 默认原始数据目录
%LOCALAPPDATA%\hermes

%LOCALAPPDATA%是 Windows 环境变量,自动指向当前用户的AppData\Local目录,不用手动填写 Windows 用户名。

  1. 将整个hermes文件夹剪切,粘贴到目标磁盘,示例路径:D:\hermes

⚠️关键:剪切完成后,C 盘下原来的 hermes 文件夹必须完整删除,不能残留,否则创建目录联接命令会报错;D 盘目标文件夹中必须存在完整迁移过来的全部数据。

  1. 管理员 CMD 中执行 mklink 命令创建目录联接
mklink /J "%LOCALAPPDATA%\hermes" "D:\hermes"
  • 第一个参数:程序访问的原始 C 盘链接点路径
  • 第二个参数:真实数据存放的磁盘物理目录

路径包含空格时,必须使用英文双引号包裹;命令前后路径顺序不能颠倒,顺序错误会引发数据错乱。

  1. 验证创建结果 命令执行成功会提示:已创建联接 <<C:\xxx\AppData\Local\hermes>> <<D:\hermes>>。 打开 C 盘的%LOCALAPPDATA%\hermes目录,可以看到 D 盘 hermes 内的全部文件。此时 C 盘仅为联接点,文件物理存储空间全部占用在 D 盘。启动 Hermes,原有配置、会话历史全部保留,软件功能不受任何影响。

常见踩坑说明

  1. 命令报错:无法创建该文件,已存在 原因:C 盘原始 hermes 文件夹没有删除干净,确认 C 盘对应的 hermes 目录已经移除,再执行创建命令。
  2. 程序启动报错、提示找不到文件 ①迁移操作前 Hermes 全部进程要彻底关闭;②D 盘目标文件夹是剪切过去的完整原始数据,不能新建空文件夹;③务必使用管理员权限 CMD 执行。
  3. 如何安全解除目录联接

❗禁止直接在资源管理器右键删除 C 盘 hermes 联接点,该操作会把 D 盘里面真实数据一并删除!

正确删除联接点,使用 rd 命令:

rd "%LOCALAPPDATA%\hermes"

rd 只会删除链接本身,不会删除 D 盘真实数据。删除链接后,如果需要恢复回 C 盘,将 D 盘文件剪切回原来的%LOCALAPPDATA%\hermes目录即可。

补充:mklink /J 和 mklink /D 的区别

很多人会混淆目录联接与目录符号链接,二者底层不是同一种重解析点:

  • mklink /J:目录联接,兼容性最好,适合 AppData 软件目录迁移,仅支持本地磁盘,不支持网络共享路径,保存的是绝对路径。Hermes 迁移优先使用 / J 参数
  • mklink /D:目录符号链接,支持网络 UNC 共享路径,部分老旧软件识别会出现异常,不适合本次场景。

历史工具 junction.exe(Sysinternals)创建出来的产物和mklink /J底层完全一致,只是 junction.exe 是独立工具需要额外下载;Vista 及之后 Windows 版本直接使用系统自带 mklink 即可,无需下载第三方工具。

总结

使用系统自带mklink /J目录联接,是 Hermes 迁移 C 盘数据简单可靠的方案。软件本身不需要做任何修改,系统自动将读写请求转发至其他磁盘,解决 AppData 目录持续膨胀占满系统盘的痛点。这套方法同样适用于其他大量占用 AppData 空间的工具缓存目录迁移。

注意事项

  1. mklink 目录联接仅支持本地磁盘,目标不能是网络映射盘、网络共享文件夹。
  2. 迁移完成后,存放真实数据的目标磁盘不能断开,否则 Hermes 读取数据目录失败,软件无法正常运行。

附言(安装 Hermes 前提前配置,推荐优先采用)

💡最佳实践:建议首次安装 Hermes 之前就完成目录联接的创建,可以省去后期迁移数据的操作。

  1. 先手动建立好目标目录,例如 D:\hermes
  2. 使用管理员 CMD 执行创建目录联接命令:
mklink /J "%LOCALAPPDATA%\hermes" "D:\hermes"
  1. 确认联接创建成功之后,再运行 Hermes 安装程序。

安装程序会直接向 D 盘真实目录写入全部数据,C 盘只保留目录联接点,从根源上避免 C 盘被占用,不用后续再进行剪切迁移文件的操作,也能规避迁移过程文件占用、复制出错等风险。


如果你要放进文章末尾,可以直接这样排版:

💡附言:推荐安装 Hermes 之前预先建立目录联接

建议在第一次安装 Hermes 软件之前就完成目录联接,能够避免后期迁移大量数据,规避文件占用、拷贝异常等问题。

操作步骤:

  1. 在 D 盘(或其他磁盘)预先建好目标文件夹,示例 D:\hermes
  2. 打开管理员 CMD,执行:
mklink /J "%LOCALAPPDATA%\hermes" "D:\hermes"
  1. 提示已创建联接后,再执行 Hermes 安装包。

后续软件产生的配置、缓存、会话数据会直接保存到 D 盘,C 盘仅存在目录联接点,从源头杜绝 C 盘空间被持续占用。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Source: https://github.com/MengXi2021/Argon-Emoji-DailyNotes
Source: https://github.com/Ghost-chu/argon-huhu-emotions
https://github.com/qs5667/argon_bilibili_emoji
https://github.com/qs5667/argon_bilibili_emoji
https://github.com/qs5667/argon_bilibili_emoji
https://github.com/qs5667/argon_bilibili_emoji
Source: github.com/zhheo/Sticker-Heo
颜文字
Emoji
小恐龙
花!
每日手帐
呼呼
B站基础表情
B站节日表情
B站游戏表情
B站活动表情
Heo
上一篇