带有通配符Source的CurrentSourceFilename

时间:2017-07-06 11:52:57

标签: inno-setup

我在带有通配符AfterInstall参数的[Files]条目上使用Source。调用CurrentSourceFilename只是给我源模式 - 而不是正在处理的实际文件。有没有办法获得实际的文件名?

以下示例将为每个文件记录{code:DirName}\*.ext一次,而不是{code:DirName}\file1.ext{code:DirName}\file2.ext等。

[Files]
Source: "{code:DirName}\*.ext"; Flags: external; AfterInstall: LogName
[Code]
procedure LogName;
begin
  Log(CurrentSourceFilename);
end;

function DirName(Param: String): String;
begin
  Result := 'dir';
end;

1 个答案:

答案 0 :(得分:1)

当使用external标志时,确实无法检索该信息 - 对我来说似乎是个错误。

如果没有external标记,您可以使用CurrentFilename找到文件名。

相反,您可以使用Pascal脚本编写文件副本(包括日志记录)。

请参阅Inno Setup: copy folder, subfolders and files recursively in Code section