# GetAvailableFileName

Author: toralf Last Modified: 20051112

This function returns the next free/available file name.

GetAvailableFileName( GivenFileName, GivenPath = "", StartID = 1 )
GetAvailableFileName_fast( GivenFileName, GivenPath = "", StartID = 1 )

For more details of the functions's parameters and return value, please see it's source code or the document.

#### Remarks

The documentation is part of authors original posting of this library.

For update's details and remarks related to the functions, please see the AutoHotkey Forum: http://www.autohotkey.com/forum/viewtopic.php?t=6297

#### License

nonexistent

#### Example

    ; #Include GetAvailableFileName.ahk
    #NoEnv
    SendMode Input
    SetWorkingDir %A_ScriptDir%

    ;######################## Testing

    Eval( GetAvailableFileName( A_ScriptName ))      ; should be error
    Eval( GetAvailableFileName( "xyz.ahk" ))         ; ok
    Eval( GetAvailableFileName( "xy#z.ahk" ))        ; ok
    Eval( GetAvailableFileName( "x#y#z.ahk" ))       ; ok
    Eval( GetAvailableFileName( "xy##z.ahk" ))       ; ok
    Eval( GetAvailableFileName( "x#.#y##z.ahk" ))    ; ok
    Eval( GetAvailableFileName( "####.ahk" ))        ; ok
    Eval( GetAvailableFileName( "xy##z.ahk", "C:\" ))              ; ok
    Eval( GetAvailableFileName( "xy##z.ahk", "C:\Windows" ))       ; ok
    Eval( GetAvailableFileName( "xy##z.ahk", "C:\XYZ0125RET\" ))   ; should be error
    Eval( GetAvailableFileName( "xy##z.ahk", "", 5 ))              ; ok
    Eval( GetAvailableFileName( "xy##z.ahk", "", 115 ))            ; should be error
    Eval( GetAvailableFileName( "xy##z.ahk", "", 33 ))             ; ok
    Eval( GetAvailableFileName( "xy##z.ahk", "", 33.3 ))           ; ok
    Msgbox, % Eval("")                                             ;%
    Return

    Eval(FileName)
    {
      static MsgTxt
      If FileName = 0
        MsgTxt = %MsgTxt%Error: %ErrorLevel%`n`n
      Else
        MsgTxt = %MsgTxt%%FileName%`n`n
      Return  MsgTxt
    }