第3篇:软链接 mklink /D 教程:轻量缓存目录迁移利器
我们通过诸多实践后将三种链接方案分别独立成篇,可以让不同需求场景的读者精准获取所需内容。下面是回顾我们文章系列策划的三篇博客标题、定位和详细大纲,每篇都围绕一个核心方案展开,具备教学性、实用性和实操性:
📘 系列总策划:《Windows 磁盘迁移三大链接方案全解析》
✍️ 总览篇:Windows 文件夹迁移三大方案教程:以 C:\\A 迁移到 D:\\B 为例-CSDN博客
✍️ 第1篇:《符号链接 SymbolicLink 全面教程:跨盘迁移的万能方案》
定位:适用于 Docker、WSL、Anaconda、Python 虚拟环境等路径写死类工具的“跨磁盘迁移”
符号链接 SymbolicLink 全面教程:跨盘迁移的多能方案-CSDN博客
✍️ 第2篇:《Junction 目录联接教程:系统兼容性最强的迁移方案》
定位:适用于 同物理磁盘不同分区迁移,尤其是对系统兼容性要求极高的场景(如 .docker
, .wslconfig
, .android
)
Junction 目录联接教程:系统兼容性较强的迁移方案-CSDN博客
✍️ 第3篇:《软链接 mklink /D 教程:轻量缓存目录迁移利器》
定位:适合用于个人数据、轻量软件缓存目录的迁移场景(如 .cache
, .vscode
, .npm
)
本篇,请见下文!
✍️ 第3篇:《软链接 mklink /D 教程:轻量缓存目录迁移利器》
✅ 适用场景:迁移轻量级、非系统核心的缓存类目录(如
.cache
、虚拟环境.venv
、conda/pip 临时目录等)。📌 教程目标:讲清
/D
软链接的用途、与其他链接方式的差异,并通过简单迁移示例指导读者实际操作。
🧠 什么是软链接(mklink /D)?
mklink /D
是 Windows 下用于创建**目录软链接(Directory Symbolic Link)**的方式。
虽然它与 Junction /J
表现相似,但在某些细节上有区别:
ln -s
的行为🔧 基本命令格式
mklink /D \"C:\\A\" \"D:\\B\"
/D
✅ 推荐使用场景
%USERPROFILE%\\.cache
D:\\DevCache\\.cache
%USERPROFILE%\\AppData\\Local\\pip
D:\\DevCache\\pip
.venv
目录项目根目录\\.venv
D:\\Venvs\\project1
~\\.cache\\huggingface
D:\\AI\\HFCache
⚠️ 不建议将系统目录、注册表依赖路径使用软链接方式迁移。推荐改用 Junction(详见第2篇)。
📦 实操案例:迁移 .venv
目录至 D 盘
① 创建并复制目录
mkdir D:\\Venvs\\project1xcopy C:\\Code\\project1\\.venv\\* D:\\Venvs\\project1\\ /E /H /K /O
② 删除原 .venv
目录
rmdir /S /Q C:\\Code\\project1\\.venv
💡 也可以先改名为
.venv_backup
保留一份保险数据。
③ 创建软链接(管理员 CMD)
mklink /D C:\\Code\\project1\\.venv D:\\Venvs\\project1
✅ 创建成功后,IDE(如 PyCharm)与命令行调用仍能正常识别
.venv
。
📊 Mermaid 流程图示
flowchart TD A[停止程序] --> B[复制数据到 D 盘] B --> C[删除/备份原路径] C --> D[mklink /D 创建软链接] D --> E[验证 IDE/终端可正常访问]
⚠️ 风险提示与注意事项
D:\\B
目标目录/J
Junction 替代🧯 还原方法
当需要取消链接或恢复原路径时:
rem 删除链接rmdir C:\\Code\\project1\\.venvrem 恢复备份xcopy C:\\Code\\project1\\.venv_backup\\* C:\\Code\\project1\\.venv\\ /E /H /K /O
🔍 三种链接方式对比总结
✅ 总结建议
-
将
/D
用于轻量级、非关键程序缓存目录迁移; -
避免将其用于 Windows 注册表、系统服务、驱动依赖路径;
-
若程序不识别软链接,切换为 Junction 更保险;
-
所有迁移前,务必备份数据、停用相关程序或服务!
【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)_wsl 迁移-CSDN博客