Windows创建符号链接需管理员权限及SeCreateSymbolicLinkPrivilege特权,用mklink命令可建文件软链接(默认)、目录符号链接(/d参数)或交接点(/j参数),支持跨卷与相对路径,失败时可用PowerShell New-Item替代。

在Windows系统中为文件或目录创建符号链接(软链接),让程序和用户能通过不同路径访问同一资源,避免重复复制占用空间,同时保持路径兼容性。
确认管理员权限与系统支持
mklink命令默认必须以管理员身份运行,且当前账户需具备“创建符号链接”特权,否则会直接报错“拒绝访问”。普通用户即使右键选“以管理员身份运行”,也可能因组策略限制失败。
第一步:按 Win + X,选择“Windows终端(管理员)”或“命令提示符(管理员)”。
第二步:输入以下命令并回车:
whoami /groups | findstr "SeCreateSymbolicLinkPrivilege"
若无任何输出,说明权限缺失。此时需按 Win + R 输入 secpol.msc → 进入“本地策略→用户权利指派” → 双击“创建符号链接” → 添加当前用户或Administrators组 → 重启终端生效。
【不执行此验证就跳过权限配置,后续所有mklink命令都会失败】
用mklink创建文件符号链接
这是最轻量的软链接形式,适用于单个文件跨路径复用,比如把D盘的配置文件映射到C盘某软件固定读取位置。
在管理员终端中,切换到你想存放链接的目录,例如:
cd /d C:\MyApp\config
执行命令:
mklink config.ini D:\backup\config.ini
注意:目标路径必须是绝对路径;若含空格或中文,两端必须用英文双引号包裹,例如:
mklink "app settings.json" "D:\Projects\My App\settings.json"
成功后会显示“符号链接已创建”,且该链接在资源管理器中显示为普通文件,大小为0字节。
用mklink创建目录符号链接
方法一:使用/d参数(推荐)
它支持跨卷、相对路径(仅限链接创建时所在目录下)、网络路径,行为最接近Linux symlink。
确保目标目录存在且非空,例如:
D:\work\project 已存在
在管理员终端中执行:
mklink /d C:\dev\current D:\work\project
方法二:用/j参数创建目录交接点(junction)
它仅支持本地NTFS卷上的绝对路径,不支持相对路径或网络路径,但兼容性更强(如旧版Windows Server 2003也能识别)。
执行:
mklink /j C:\legacy\app E:\old\app
【/j创建的交接点移动到其他卷时会变成普通文件夹,且原目录内容被清空——这是不可逆误操作,务必避开】
用PowerShell替代方案(免提权可选)
如果你已启用开发者模式(设置→更新和安全→针对开发人员→开启“开发者模式”),并完成组策略中“创建符号链接”权限配置,则无需管理员终端也能创建。
在普通PowerShell窗口中运行:
New-Item -ItemType SymbolicLink -Path "C:\link-to-docs" -Target "D:\MyDocs"
该命令会自动创建目录符号链接;若要链接文件,将-Target指向具体文件路径即可。
验证是否成功:
Get-Item "C:\link-to-docs" | Select-Object Name, LinkType, Target
输出中LinkType应为SymbolicLink,Target字段显示正确路径。











