首页 > 解决方案 > 在 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}但这不起作用。

有没有办法让它工作?

标签: inno-setuppascalscript

解决方案


您可以使用Random功能

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

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

请参阅如何在 Inno Setup 中找到唯一名称以重命名/归档旧目录


推荐阅读