论坛风格切换切换到宽版
  • 2031阅读
  • 5回复

新年快乐,虎版!请教一下在run执行程序的时候想传带空格的参数 [复制链接]

上一主题 下一主题
离线yiyeshu2012
 

发帖
17
金钱
170
威望
17
只看楼主 倒序阅读 0 发表于: 2015-03-03
该如何处理?
比如C:\Program Files\Common Files

Parameters: "C:\Program Files\Common Files"
这样传进去会视为三个参数
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 1 发表于: 2015-03-03
你把带空格的内容用双引号括起来,也就是说你把整个 ”C:\Program Files\Common Files“ 当作参数。由于双引号本身是用来括参数的,所以你要用两个双引号,其中的一个双引号就被当作参数的内容来解析了。
Parameters: ""C:\Program Files\Common Files""
离线yiyeshu2012

发帖
17
金钱
170
威望
17
只看该作者 2 发表于: 2015-03-04
Parameters: ""C:\Program Files (x86)\ADSafe3" {code:GetMySQL|数据库密码}";
这样写似乎不行,虎版
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 3 发表于: 2015-03-04
参数中是 " 的地方。你在代码中用 "" 就对了。
Parameters: ""C:\Program Files (x86)\ADSafe3"" {code:GetMySQL|数据库密码}";
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 4 发表于: 2015-03-04
参看帮助文件中的“段中参数”。

所有脚本中的段,除 [Setup]、[Messages]、[CustomMessages]、[LangOptions] 和 [Code] 段,包含的行中可有多个各自的参数。下列是 [Files] 段中的一个举例:

[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"
Source: "MYPROG.CHM"; DestDir: "{app}"
Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme

每个参数都由一个名字组成,然后跟随一个冒号,然后是一个值。除非另外说明,如果参数未指定,将设定为一个默认值。一行中多个参数用分号隔开,并且可以以任何次序列出。

参数的值如果包含一个用户定义的字符串时,一般来说用双引号 (") 包含,例如象文件名。引号使用不是必需的,但这样做可能会在值中的首位或末位被加入空格,以及分号和双引号。

在要引用的值中使用一个双引号字符,用两个连续的双引号字符,例如:

"This "" contains "" embedded "" quotes"

安装程序编译器会将它视作:

This " contains " embedded " quotes

如果你希望参数值是一个单个双引号字符,用四个双引号字符: """"。外面的两个用于包含引用的字符;内部两个写入单个的双引号字符。
离线yiyeshu2012

发帖
17
金钱
170
威望
17
只看该作者 5 发表于: 2015-03-04
谢谢虎版
搞定