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)))
不过,它不会阻止您生成已经存在的名称。您至少应该测试生成名称是否存在。如果是,则尝试一个新的随机名称。但是使用随机名称是没有意义的。您可以改用增量数字,因为它们具有更好的语义。
见。
我知道我可以重命名任何文件:
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)))
不过,它不会阻止您生成已经存在的名称。您至少应该测试生成名称是否存在。如果是,则尝试一个新的随机名称。但是使用随机名称是没有意义的。您可以改用增量数字,因为它们具有更好的语义。
见