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

Windows批处理添加自定义协议注册表项的reg add语法错误排查

批处理reg add命令语法错误排查

核心错误点

  • /d参数未整体包裹引号:注册表command项的值是完整的命令行字符串,必须将整个命令内容用引号统一包裹,否则reg命令会把空格后的内容识别为额外参数,触发语法错误。
  • 参数转义错误:批处理中要向注册表写入%1(用于接收协议传递的参数),需用%%1转义,直接写^%1无法在注册表中正确保留%1。
  • 脚本路径未处理空格场景:%scriptpath%若包含空格(如路径含中文或空格),单独的%scriptpath%FD_Albums_MNGR.ps1会被拆分,必须对路径进行引号包裹处理。
  • 缺失PowerShell执行参数:原命令未加-File参数,PowerShell默认会将脚本路径当作命令参数解析,无法正确执行指定脚本。

修正后的reg add命令

reg add HKCR\fddmyalbs2\shell\open\command /t REG_SZ /d "powershell.exe -File \"%scriptpath%FD_Albums_MNGR.ps1\" %%1" /f

修正细节说明

  1. 整体包裹命令行:将powershell.exe、脚本路径、参数作为一个完整字符串用双引号包裹,确保reg命令将其识别为单个REG_SZ值。
  2. 正确转义参数:用%%1代替^%1,批处理执行后,注册表中会正确写入%1,用于接收自定义协议传递的参数。
  3. 转义内部引号:用\"转义脚本路径外的双引号,确保路径含空格时仍能被PowerShell正确识别。
  4. 添加-File参数:明确告知PowerShell以脚本文件方式执行指定路径的脚本,避免参数解析错误。

额外优化建议:reg query命令可给路径添加引号,避免潜在的路径解析问题,修改为:

reg query "HKCR\fddmyalbs2\shell\open\command"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:07:39