Checks for the existence of a file or folder and returns its attributes.
AttributeString := FileExist(FilePattern)
The path, filename, or file pattern to check. FilePattern is assumed to be in A_WorkingDir if an absolute path isn't specified.
This function returns the attributes of the first matching file or folder. This string is a subset of
RASHNDOCT, where each letter means the following:
If the file has no attributes (rare), "X" is returned. If no file or folder is found, an empty string is returned.
Note that searches such as
InStr(FileExist("FolderWithFilesAndSubfolders\*"), "D") only tells you whether the first matching file is a folder, not whether a folder exists. In this case, use DirExist instead, such as
Unlike FileGetAttrib, FileExist supports wildcard patterns and always returns a non-empty value if a matching file exists.
Since an empty string is seen as "false", the function's return value can always be used as a quasi-boolean value. For example, the statement
if FileExist("C:\My File.txt") would be true if the file exists and false otherwise.
Since FilePattern may contain wildcards, FileExist may be unsuitable for validating a file path which is to be used with another function or program. For example,
FileExist("*.txt") may return attributes even though "*.txt" is not a valid filename. In such cases, FileGetAttrib is preferred.
DirExist, FileGetAttrib, File-loops
if FileExist("D:\") MsgBox "The drive exists." if FileExist("D:\Docs\*.txt") MsgBox "At least one .txt file exists." if !FileExist("C:\Temp\FlagFile.txt") MsgBox "The target file does not exist."
#2: The following example shows how to check the file for a particular attribute:
if InStr(FileExist("C:\My File.txt"), "H") MsgBox "The file is hidden."