检查文件或目录是否存在并返回它的属性.
AttributeString := FileExist(FilePattern)
类型: 字符串
要检查的路径, 文件名或文件模式(文件模式指类似 "*.txt" 这样的 Dos 表示法). 如果未指定完整路径, 则假定 FilePattern 在 A_WorkingDir 中.
函数返回第一个匹配文件或文件夹的属性. 这个字符串是 RASHNDOCT 的子集, 其中每个字母的意思如下:
RASHNDOCT
如果文件没有任何属性(罕见), 则返回 "X". 如果文件不存在则返回空字符串.
注意, 像 InStr(FileExist("FolderWithFilesAndSubfolders\*"), "D") 这样的搜索只告诉您 第一个 匹配的文件是否是一个文件夹, 而不是一个文件夹是否存在. 在这种情况下, 请使用 DirExist, 如 DirExist("FolderWithFilesAndSubfolders\*").
InStr(FileExist("FolderWithFilesAndSubfolders\*"), "D")
DirExist("FolderWithFilesAndSubfolders\*")
与 FileGetAttrib 不同, FileExist 支持通配符模式, 如果存在匹配的文件, 它总是返回一个非空值.
由于空字符串被视为 "false", 所以函数的返回值总是可以用作准布尔值. 例如, 如果文件存在, 语句 if FileExist("C:\My File.txt") 为真(true), 否则返回假(false).
if FileExist("C:\My File.txt")
由于 FilePattern 可能包含通配符, 因此 FileExist 可能不适合验证将与其他函数或程序一起使用的文件路径. 例如, FileExist("*.txt") 可能会返回属性即使 "*.txt" 不是有效的文件名. 在这种情况下, FileGetAttrib 是首选.
FileExist("*.txt")
DirExist, FileGetAttrib, File-loops
如果 D 盘确实存在, 则显示一个消息框.
if FileExist("D:\") MsgBox "The drive exists."
如果目录中至少有一个文本文件存在, 则显示一个消息框.
if FileExist("D:\Docs\*.txt") MsgBox "At least one .txt file exists."
如果文件 不 存在, 则显示一个消息框.
if not FileExist("C:\Temp\FlagFile.txt") MsgBox "The target file does not exist."
展示如何检查文件的指定属性.
if InStr(FileExist("C:\My File.txt"), "H") MsgBox "The file is hidden."