Search code examples
filenamesincrementautoit

Create unique filename by adding incremental number


I'm trying to increment file names if a previously numbered one exists.

For example, it should check if "Example.csv" exists. If so, the new file should be called "Example2.csv", then "Example3.csv", "Example4.csv" and so on. Here's my code so far:

$fileNum = 2
; The $month variable is defined earler in the script but I'll define another var for this example
$month = "January"
If FileExists("Emissions Log - " & $month & ".csv") Then
    If FileExists("Emissions Log - " & $month & $fileNum & ".csv") Then
        $fileNum += 1
        $file = FileOpen("Emissions Log - " & $month & $fileNum & ".csv", 1)
    Else
        $file = FileOpen("Emissions Log - " & $month & $fileNum & ".csv", 1)
    EndIf
Else
    $file = FileOpen("Emissions Log - " & $month & ".csv", 1)
EndIf

Solution

  • In order to do that, you must loop the filenames.

    $month = "January"
    
    For $i = 0 To 1000 ;max file versions is set to 1000
    
        If $i = 0 Then
            $num = ''
        Else
            $num = $i
        EndIf
    
        If Not FileExists("Emissions Log - " & $month & $num & ".csv") then
            $file = FileOpen("Emissions Log - " & $month & $num & ".csv", 1)
            ExitLoop
        EndIf
    Next