Rename/backup 文件在 Inno Setup 中随机命名

Rename/backup file to a random name in Inno Setup

我知道我可以重命名任何文件:

function RenameFile(const OldName, NewName: string): Boolean;

我已经有了这个:

RenameFile(ExpandConstant('{app}\myfile.dll'), ExpandConstant('{app}\Myfile.dll.old'));

我可以将我的文件重命名为任何想要的名称,但在这种情况下我需要使用随机生成的名称重命名它,我尝试使用:ExpandConstant('{app}\Myfile.dll.{tmp}')); 来获取由 {tmp} 但这没有用。

有什么办法让它发挥作用吗?

您可以使用 Random function:

ExpandConstant('{app}\Myfile.dll.' + IntToStr(Random(1000)))

不过,它不会阻止您生成已经存在的名称。您至少应该测试生成名称是否存在。如果是,则尝试一个新的随机名称。但是使用随机名称是没有意义的。您可以改用增量数字,因为它们具有更好的语义。