FileExist()

检查文件或目录是否存在并返回它的属性.

AttributeString := FileExist(FilePattern)

参数

FilePattern

要检查的路径, 文件名或文件模式(文件模式指类似 "*.txt" 这样的 Dos 表示法). 如果未指定绝对路径, 则假定 FilePattern%A_WorkingDir% 中.

返回值

函数返回第一个符合条件的文件或目录的属性字符串("RASHNDOCT" 中的一个或多个字母):

如果文件没有任何属性(罕见), 则返回 "X". 如果文件不存在则返回空字符串.

备注

本函数相当于 IfExistFileGetAttrib 的组合.

由于空字符串相当于 "false", 函数的返回值总可以用于直接作为逻辑判断. 例如, 语句 if FileExist("C:\My File.txt") 如果文件存在则返回真, 否则为假. 类似的, 语句 if InStr(FileExist("C:\My Folder"), "D") 当路径存在 并且 为目录时返回真.

由于 FilePattern 可能包含通配符, 因此 FileExist 可能不适用于验证要与另一个函数或程序一起使用的文件路径. 例如, 即使 "*.txt" 不是有效的文件名, FileExist("*.txt") 也有可能会返回属性. 在这种情况下, FileGetAttrib 是首选.

IfExist, FileGetAttrib, 区块, Else, File-loops (文件循环)

示例

如果 D 盘确实存在, 则显示一个消息框.

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.

展示如何检查文件的特定属性.

if InStr(FileExist("C:\My File.txt"), "H")
    MsgBox 文件是隐藏的.
unixetc