FileExist()

AutoHotKey

FileExist(FilePattern)

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

AttributeString := FileExist(FilePattern)

参数

FilePattern

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

返回值

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

R = READONLY (只读)
A = ARCHIVE (存档)
S = SYSTEM (系统)
H = HIDDEN (隐藏)
N = NORMAL (普通)
D = DIRECTORY (目录)
O = OFFLINE (离线)
C = COMPRESSED (压缩)
T = TEMPORARY (临时)
X = NONE (无属性)

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

备注

本函数相当于 IfExistFileGetAttrib 的组合.

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

相关

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

示例

if FileExist("D:\")
    MsgBox, 驱动器存在.
if FileExist("D:\Docs\*.txt")
    MsgBox, 至少有一个 .txt 文件存在.
if !FileExist("C:\Temp\FlagFile.txt")
    MsgBox, 目标文件不存在.
; 下面的例子展示如何检查文件的指定属性:
if InStr(FileExist("C:\My File.txt"), "H")
    MsgBox 文件是隐藏的.