该函数将返回满足掩码和属性的第一个文件的名称。如果不存在这样的文件,则返回一个空字符串。
掩码可以包含带通配符的路径,例如C:\temp\*.doc.
这些属性提供了您想要查看的其他文件,因此,当正常文件满足掩码时,将始终返回这些文件。
您可以添加以下常量以查看所需的文件类型 (使用 |)。如果不希望添加任何属性,请使用 0 或 fa_none。
文件属性常量 | |
---|---|
常量 | 描述 |
fa_none | No file attributes |
fa_readonly | Read-only files |
fa_hidden | Hidden files |
fa_sysfile | System files |
fa_volumeid | Volume-id files |
fa_directory | Directories |
fa_archive | Archived files |
属性只能在 Windows 上使用。对于所有其他平台,请使用 0 或 fa_none。
警告 由于 GameMaker 处于沙盒状态,这可能无法按您的预期工作!请参阅有关 文件系统 的部分了解更多信息。
注意 此函数在 HTML5 目标上无法工作。
file_find_first(mask, attr);
参数 | 类型 | 描述 |
---|---|---|
mask | String | 用于搜索的过滤器。 |
attr | 文件属性常量(s) | 要查找的特定文件属性。 |
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 数组,然后尝试查找下一个文件。
循环将继续重复,直到找到一个空字符串 (意味着没有更多匹配的文件),这时循环结束并在结束时关闭文件查找器。