DirExist

检查文件夹是否存在并返回其属性.

AttributeString := DirExist(FilePattern)

参数

FilePattern

类型: 字符串

要检查的路径, 文件夹名称或文件模式. 如果未指定绝对路径, 则假定 FilePatternA_WorkingDir 中.

返回值

类型: 字符串

函数返回第一个符合条件的文件夹的属性. 这个字符串是 ASHDOC 的一个子集, 其中每个字母的意思如下:

因为这个函数只检查文件夹是否存在, 所以 "D" 总是出现在返回值中. 如果没有找到文件夹, 则返回一个空字符串.

备注

注意, 诸如 DirExist("FolderWithFilesAndSubfolders\*") 之类的搜索只告诉您文件夹是否存在. 如果您想检查文件 文件夹是否存在, 请使用 FileExist.

FileGetAttrib 不同, DirExist 支持通配符模式, 如果存在匹配的文件夹, 它总是返回一个非空值.

由于空字符串被视为 "false", 所以函数的返回值总是可以用作准布尔值. 例如, 如果文件夹存在, 语句 if DirExist("C:\MyFolder") 为 true(真), 反之为 false(假).

由于 FilePattern 可能包含通配符, 因此 DirExist 可能不适合验证要与其他函数或程序一起使用的文件夹路径. 例如, DirExist("Program*") 可能会返回属性, 尽管 "Program*" 不是一个有效的文件夹名称. 在这种情况下, 应当先考虑使用 FileGetAttrib.

FileExist, FileGetAttrib, File-loops

示例

如果文件夹确实存在, 会显示一个消息框.

if DirExist("C:\Windows")
    MsgBox "The target folder does exist."

如果至少有一个程序文件夹存在, 则显示一个消息框.

if DirExist("C:\Program*")
    MsgBox "At least one program folder exists."

如果文件夹 存在, 则显示一个消息框.

if not DirExist("C:\Temp")
    MsgBox "The target folder does not exist."

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

if InStr(DirExist("C:\System Volume Information"), "H")
    MsgBox "The folder is hidden."
unixetc