[Run]中的Inno设置,空格和双引号

时间:2014-05-12 14:34:37

标签: inno-setup quotes spaces

我试图在Windows上安排任务,不幸的是,它不起作用! 任务已创建,但不正确。

当我查看任务的参数时,它会说:

PROGRAM: C:\Program
ARGUMENTS: Files(x86)\AppName\executable.exe

这就是我的工作方式:

[Run]
Filename: "schtasks.exe"; Parameters: "/create /tn TaskName /sc MINUTE /mo 10 /tr ""{app}\{#MyAppExeName}""";

而且我不知道为什么它不起作用,双打引号应该解决"空格问题"

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

此问题已知并在this knowledge base article中有所描述。您需要在反斜杠和引号的组合之间包含文件名。那篇文章描述了:

  

<强>原因:

     

如果计划任务的路径包含a,则会出现此问题   空间。例如,如果您为其创建计划,则会出现此问题   使用Schtasks.exe执行以下任务:

 "c:\foldername containing spaces\task.bat"
     

解决方法:

     

要解决此问题,请附上任务的路径部分(不是   反斜杠(\)和引号之间包括参数或开关   标记(&#34;)字符组合,例如\&#34;。附上完整的   引用之间的任务路径(包括参数或开关)   在创建包含空格的路径或命令时,照常标记。

     

例如,以下示例任务在您安排时不会运行   它:

 schtasks /create /tn "my task" /tr "c:\foldername containing spaces\script.bat arguments" /sc once /sd 07/29/2003 /st 10:01
     

但是,当您在反斜杠之间包含任务的路径时   和引号字符组合如下所示   例如,计划任务成功运行:

 schtasks /create /tn "my task" /tr "\"c:\foldername name containing spaces\script.bat\" arguments" /sc once /sd 07/29/2003 /st 10:01

所以在你的情况下可能是:

[Run]
Filename: "schtasks.exe"; Parameters: "/create /tn TaskName /sc MINUTE /mo 10 /tr ""\""{app}\{#MyAppExeName}\""";

答案 1 :(得分:0)

晚会,但如上所述[{3}},您可以尝试在/ TR参数周围添加单引号,这会导致

Parameters: "/create /tn TaskName /sc MINUTE /mo 10 /tr '"{app}\{#MyAppExeName}"'";

这可能比杂耍反斜杠容易一些。