file_find_first

该函数将返回满足掩码和属性的第一个文件的名称。如果不存在这样的文件,则返回一个空字符串。

掩码可以包含带通配符的路径,例如C:\temp\*.doc.

这些属性提供了您想要查看的其他文件,因此,当正常文件满足掩码时,将始终返回这些文件。
您可以添加以下常量以查看所需的文件类型 (使用 |)。如果不希望添加任何属性,请使用 0 或 fa_none

文件属性常量
常量描述
fa_noneNo file attributes
fa_readonlyRead-only files
fa_hiddenHidden files
fa_sysfileSystem files
fa_volumeidVolume-id files
fa_directoryDirectories
fa_archiveArchived files

属性只能在 Windows 上使用。对于所有其他平台,请使用 0 或 fa_none

警告 由于 GameMaker 处于沙盒状态,这可能无法按您的预期工作!请参阅有关 文件系统 的部分了解更多信息。

注意 此函数在 HTML5 目标上无法工作。

 

语法:

file_find_first(mask, attr);

参数类型描述
maskString用于搜索的过滤器。
attr文件属性常量(s)要查找的特定文件属性。

 

返回:

String

 

例子:

if (directory_exists("\User Content"))
{
    fileA = file_find_first("/User Content/*.doc", fa_readonly);
    fileB = file_find_next();
    fileC = file_find_next();
    file_find_close();
}

此代码检查指定的目录是否存在,如果存在,则返回第一个“只读” doc 文件。然后查找另外两个文件并关闭文件查找器。

您可以使用 while 循环查找任意数量的文件:

var files = [];
var file_name = file_find_first("/User Content/*.doc", fa_readonly);

while (file_name != "")
{
    array_push(files, file_name);

    file_name = file_find_next();
}

file_find_close();

上面的代码创建一个空数组来存储找到的所有文件名,并开始查找只读 .doc 文件。
如果该文件名不是空字符串,则将其推入 files 数组,然后尝试查找下一个文件。
循环将继续重复,直到找到一个空字符串 (意味着没有更多匹配的文件),这时循环结束并在结束时关闭文件查找器。