通过powershell脚本+注册表注入,可在windows 10右键菜单添加“创建符号链接”选项,支持单/多文件及文件夹,自动调用管理员权限和路径选择对话框;另提供sendto快捷方式和文件夹背景右键两种轻量方案。

你需要在Windows 10文件资源管理器中右键任意文件或文件夹时,直接出现“创建符号链接”选项,省去每次打开命令提示符、输入mklink命令、确认管理员权限等重复操作。这个功能必须能识别当前选中的目标,并自动以管理员权限执行符号链接创建动作,否则链接将无法生成或指向异常。
用PowerShell脚本+注册表注入实现一键右键创建符号链接
此方法不依赖第三方工具,全程使用系统原生组件,生成的右键项支持单文件、多文件、文件夹全类型目标,且自动弹出目标路径选择对话框,避免硬编码路径错误。
第一步:在C:\Windows\System32下新建一个名为mklinkgui.ps1的脚本文件(需管理员权限保存)
第二步:用记事本打开该文件,粘贴以下完整代码并保存:
param($path)
if (!$path) { exit }
$target = Get-Item $path
$shell = New-Object -ComObject Shell.Application
$folder = $shell.BrowseForFolder(0, "请选择符号链接存放位置", 0, "$env:USERPROFILE")
if (!$folder) { exit }
$dest = $folder.Self.Path
$linkName = $target.Name + "_symlink"
if ($target.PSIsContainer) {
& cmd /c mklink /D "`"$dest\$linkName`"" "`"$path`"" 2>$null
} else {
& cmd /c mklink "`"$dest\$linkName`"" "`"$path`"" 2>$null
}
第三步:按下Win+R→输入regedit→回车,导航至HKEY_CLASSES_ROOT\*\shell
第四步:在shell项上右键→新建→项,命名为CreateSymbolicLink
第五步:选中CreateSymbolicLink项,在右侧双击“(默认)”字符串值,将数值数据设为【创建符号链接】
第六步:在CreateSymbolicLink项下再新建一项,命名为command
第七步:选中command项,双击右侧“(默认)”字符串值,在数值数据中填入:
powershell.exe -ExecutionPolicy Bypass -File "C:\Windows\System32\mklinkgui.ps1" "%1"
【必须确保C:\Windows\System32\mklinkgui.ps1文件存在且内容无误,否则右键点击后将无声失败】
通过SendTo文件夹添加“发送到符号链接目录”快捷入口
如果你只想把文件或文件夹快速“发送到”某个预设的符号链接根目录(例如D:\symlinks),无需每次选路径,这个方法更轻量、无需管理员权限、不修改注册表。
方法一:直接复用系统SendTo机制
按下Win+R→输入shell:sendto→回车,打开当前用户的SendTo文件夹
在空白处右键→新建→快捷方式→在“请键入对象的位置”中输入:cmd.exe /c for %i in (%1) do @mklink "%USERPROFILE%\Desktop\%~nxi_symlink" "%i"
点击下一步→命名为“创建桌面符号链接”→完成
方法二:用批处理封装更可靠逻辑
在SendTo文件夹内新建文本文档,重命名为symlink_to_desktop.bat
右键编辑该文件,写入以下三行:
@echo off
for %%i in (%*) do mklink "%USERPROFILE%\Desktop\%%~nxi_symlink" "%%i"
pause
保存后,右键任意文件→发送到→即可看到“symlink_to_desktop.bat”选项
【注意:.bat文件必须放在shell:sendto路径下才能出现在右键“发送到”子菜单中】
为文件夹空白处右键单独添加“在此创建符号链接”
当你在某个文件夹内空白处右键时,希望直接生成一个指向当前路径的符号链接(例如在D:\Projects右键→创建指向它的符号链接),这种场景适用于项目目录快速跳转。
1、打开注册表编辑器,定位到HKEY_CLASSES_ROOT\Directory\Background\shell
2、在shell上右键→新建→项,命名为CreateSymlinkHere
3、双击该项的“(默认)”值,输入显示名称:【在此创建符号链接】
4、在CreateSymlinkHere下新建项,命名为command
5、双击command下的“(默认)”值,填入:
cmd.exe /c cd /d "%V" && for /f "delims=" %i in ('cd') do @mklink "%USERPROFILE%\Desktop\%~nxi_symlink" "%i"
6、关闭注册表编辑器,刷新桌面或重启资源管理器











