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

use*_*871 5 quotes inno-setup spaces

我正在尝试在Windows上安排任务,不幸的是,它不起作用!任务已创建但未正确完成.

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

PROGRAM: C:\Program
ARGUMENTS: Files(x86)\AppName\executable.exe
Run Code Online (Sandbox Code Playgroud)

这就是我的进展方式:

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

我不知道为什么它不起作用,双打引号应该修复"空间问题"

有任何想法吗?

TLa*_*ama 7

该问题是已知的并且在其中描述this knowledge base article.您需要在反斜杠和引号的组合之间包含文件名.那篇文章描述:

原因:

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

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

解决方法:

若要解决此问题,请将任务的路径部分(不包括参数或开关)括在反斜杠(\)和引号(")字符组合之间,例如\".在创建包含空格的路径或命令时,像往常一样将任务的完整路径(包括参数或开关)包含在引号之间.

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

 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}\""";
Run Code Online (Sandbox Code Playgroud)