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

Inno Setup [Run]段含空格参数的处理方案咨询

解决Inno Setup [Run]段传带空格路径参数的问题

嘿,这个问题其实挺常见的——Windows命令行里空格是默认的参数分隔符,带空格的路径直接传会被拆成多个片段,批处理自然就识别错了。别担心,只要给每个带空格风险的参数用双引号包裹就行,不过在Inno Setup脚本里有个小细节要注意:单个双引号是用来界定字符串边界的,所以要表示实际传递的双引号,得用两个双引号""来转义。

看你的当前配置,只需要把参数部分的两个路径分别用""括起来就行,修改后的[Run]段应该是这样:

[Run]
Filename: "{code:GetDirSQL|0}\installSQL\createBase\launchCreateParam.bat"; Parameters: """{code:GetDirSQL|0}\installSQL\createBase"" ""{code:GetDossier|0}"""; Description: {cm:LaunchProgram,LumisTraiteur}; StatusMsg: Création de la base de données...; Check: instalDossier

补充说明:

  • 为什么用三个引号?因为Inno Setup会把连续的两个双引号""解析成实际传递给命令行的一个双引号,所以"""路径"""最终会变成"路径"传递给批处理,这样命令行就能正确识别整个路径作为一个独立参数。
  • 如果你的批处理里需要使用这些参数(比如%1对应第一个路径,%2对应第二个),要是想去掉参数里的引号,可以用%~1、%~2这样的语法,比如在批处理里写:
    set "CREATE_BASE_DIR=%~1"
    set "DOSSIER=%~2"
    
    这样就能得到不带引号的纯路径,避免后续操作中因为引号引发的其他问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:10:52