2016-03-09 47 views
1

每當我進行新安裝時,我都會安裝一個新目錄。我在安裝舊的目錄時遇到問題,現在想要將舊的目錄歸檔。如何在Inno Setup中找到重命名/歸檔舊目錄的唯一名稱

如果DirExists返回true,我想將目錄從Directory重命名爲DirectoryOld1

我遇到的問題是如何檢查並遍歷重命名過程,以便如果DirectoryOld1存在,請將當前目錄重命名爲DirectoryOld2等等。

+0

你能表現出一點代碼來顯示你現在的工作?謝謝,歡迎來到Stack Overflow! –

+0

什麼是DirExistsWarning? –

回答

0

如果我正確理解你的問題,你想備份一個現有的目錄到一個唯一的(增加的)名稱。對?

這樣做:

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; 
+0

Is Inc()IncrementSharedCount()? – LKH5000

+0

不,'Inc(I)'在功能上等同於'I:= I + 1'。見http://www.freepascal.org/docs-html/rtl/system/inc.html –