You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome及Edge打开本地链接问题:PowerShell自定义协议配置求助

自定义协议打开本地文件解决方案

问题根因

你之前的配置无法打开具体文件主要有三个问题:

  • 协议头截取位置错误,Substring(10)没有完整去掉MySoftware://前缀,导致传入的路径开头残留://,资源管理器对文件夹路径可自动容错,但无法识别带前缀的文件路径
  • 未处理URL编码,浏览器会将路径中的空格、中文、特殊符号转为%XX格式的编码内容,直接调用会无法找到文件
  • 替换为Invoke-Item时未处理注册表中的PowerShell转义规则,也没有加必要的启动参数避免干扰

正确配置

你可以直接将以下内容保存为.reg格式的文件,双击导入注册表即可:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\MySoftware]
@="URL:MySoftware Protocol"
"URL Protocol"=""

[HKEY_CURRENT_USER\Software\Classes\MySoftware\shell]

[HKEY_CURRENT_USER\Software\Classes\MySoftware\shell\open]

[HKEY_CURRENT_USER\Software\Classes\MySoftware\shell\open\command]
@="powershell.exe -NoProfile -WindowStyle Hidden -Command \"$val = '%1'; $val = [System.Web.HttpUtility]::UrlDecode($val); $path = $val.Substring(13).TrimStart('/').TrimEnd('/').Replace('/', '\'); Invoke-Item -Path $path -ErrorAction SilentlyContinue\""

配置说明

  • 写入HKEY_CURRENT_USER节点无需管理员权限,符合企业环境权限要求
  • -NoProfile参数跳过加载PowerShell用户配置,大幅提升启动速度
  • -WindowStyle Hidden参数隐藏PowerShell黑框弹窗,无额外交互干扰
  • 新增的URL解码逻辑兼容带空格、中文、特殊字符的路径
  • TrimStart('/')兼容MySoftware:///c:\xxx这类多斜杠的协议格式
  • 导入后无需重启系统,直接点击MySoftware://开头的链接即可测试,会自动调用系统默认程序打开对应文件/文件夹

内容的提问来源于stack exchange,提问作者Jammy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:09:00