Whenever I do a new install, I install a new directory. I am having issues with installing over old directories and would now like to archive my old directories.
If DirExists
returns true, I want to rename the directory from Directory
to DirectoryOld1
.
The issue I am having is how to check and iterate through the renaming process, so that if DirectoryOld1
exists, rename the current directory to DirectoryOld2
and so on.
If I understand your question correctly, you want to backup an existing directory to a unique (incremented) name. Right?
This will do:
function BackupDir(OldName: string): Boolean;
var
I: Integer;
begin
I := 1;
{ Find a unique index }
while DirExists(OldName + IntToStr(I)) do
begin
Inc(I);
end;
{ And rename }
Result := RenameFile(OldName, OldName + IntToStr(I));
end;
来源:https://stackoverflow.com/questions/35900787/how-to-find-an-unique-name-to-rename-archive-old-directories-in-inno-setup