必须用符号链接实现跨卷目录映射;需管理员权限并启用SeCreateSymbolicLinkPrivilege策略;执行mklink /D "C:\dev\workspace" "D:\Projects"创建链接。

你需要让一个文件夹在另一个路径下“现身”,比如把 D 盘的项目目录映射到 C 盘的开发工作区,又不想复制数据、不希望程序察觉路径变动——这时必须用符号链接,而不是快捷方式或复制粘贴。
确认管理员权限与系统支持
Windows 默认禁止普通用户创建符号链接,哪怕你右键以管理员身份运行 CMD,也可能因策略关闭而失败。
第一步:按 Win + X → 选择“Windows 终端(管理员)”。
第二步:输入以下命令并回车:whoami /groups | findstr "SeCreateSymbolicLinkPrivilege"。
如果没有任何输出,说明权限未启用——此时必须进本地安全策略手动添加。按 Win + R 输入 secpol.msc → 进入“本地策略→用户权利指派”→ 双击“创建符号链接”→ 点“添加用户或组”,填入你的用户名或 Administrators 组 → 确定后重启终端。
【跳过这步会导致后续所有 mklink 命令报错“拒绝访问”】
用 mklink /D 创建跨卷目录符号链接
这是最常用也最稳妥的方式,适用于将 D:\Projects 映射为 C:\dev\workspace 这类典型场景。
确保目标文件夹(如 D:\Projects)已存在且非空;链接存放位置(如 C:\dev)父目录必须存在,但链接名(workspace)本身不能预先存在。
在管理员终端中执行:mklink /D "C:\dev\workspace" "D:\Projects"。
注意两个路径都必须用英文双引号包裹,哪怕路径不含空格——这是硬性要求,漏掉任一引号都会报错“参数格式不正确”。
成功后会显示“为 C:\dev\workspace
用 PowerShell New-Item 替代方案(无需管理员权限)
如果你启用了开发者模式(设置 → 更新和安全 → 针对开发人员 → 开发者模式),就可以绕过管理员权限限制,用 PowerShell 创建符号链接。
方法一:创建目录符号链接
在普通 PowerShell 窗口中运行:New-Item -ItemType SymbolicLink -Path "C:\dev\workspace" -Target "D:\Projects"。
方法二:创建目录 Junction(软链接变体)
命令为:New-Item -ItemType Junction -Path "C:\dev\junc" -Target "D:\Projects"。
Junction 和 /D 符号链接效果接近,但不支持相对路径,且移动链接文件夹时行为不同——/D 链接移动后仍有效,Junction 移动后会变成普通文件夹并清空原目录内容,【务必避免对重要数据目录用 /J 或 Junction 方式移动】。
验证链接是否生效
在管理员终端中执行:dir "C:\dev\workspace"。
若看到输出中该条目右侧标注 [LINK],说明创建成功。
双击打开它,检查能否正常浏览、新建文件、删除子项——如果提示“位置不可用”,大概率是目标路径写错或目标已被删除。
用记事本打开一个子文件并保存,再回到原路径 D:\Projects 对应位置确认修改已同步。


















