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

Windows CMD嵌套引号下带空格路径的程序调用问题如何解决?

解决方案

你遇到的问题是两个CMD语法特性共同导致的,按以下方案即可修复:

核心问题说明

  • start命令的第一个带引号参数会被默认识别为窗口标题,而非可执行文件路径,哪怕你写的是完整EXE路径也不会生效
  • 注册表字符串值中嵌套双引号需要用反斜杠\转义,CMD执行时会自动识别转义后的引号

修复方案1(推荐,无需修改路径)

直接使用以下命令替换注册表中自定义URL协议的执行命令即可:

cmd /V:ON /C "SET r=%1 & SET s=!r:jhvnc:=! & start \"\" \"C:\Program Files\uvnc bvba\UltraVNC\vncviewer.exe\" !s:_= !"

这里额外加的\"\"是给start命令传的空窗口标题参数,后续转义过的EXE路径会被正确识别为可执行文件。

修复方案2(规避引号处理)

如果你不想处理复杂的转义逻辑,可以把路径中的长文件名替换为DOS短路径名,消除空格后就不需要加引号包裹:

  1. 打开CMD,执行dir /x "C:\Program Files"查看Program Files对应的短路径,一般为PROGRA~1
  2. 再执行dir /x "C:\Program Files\uvnc bvba"查看uvnc bvba对应的短路径,一般为UVNCBV~1
  3. 替换后的命令如下(如果你的短路径和示例不一致按实际修改即可):
cmd /V:ON /C "SET r=%1 & SET s=!r:jhvnc:=! & start C:\PROGRA~1\UVNCBV~1\UltraVNC\vncviewer.exe !s:_= !"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:54:03