递归火山软件开发平台

标题: 如何获取文件夹下所有文件的文件名? [打印本页]

作者: Li小彬    时间: 2023-9-18 17:16
标题: 如何获取文件夹下所有文件的文件名?
如何获取文件夹下所有文件的文件名?有没有大神可以指点一下

作者: urenai    时间: 2023-9-18 18:10
寻找文件()

第一次调用 给路径 +*.*   
其中*是通配符,文件名和后缀。
第二次不用给定路径, 使用判断循环


<火山程序 类型 = "通常" 版本 = 1 />

方法 手打
{
    变量 file <类型 = 文件查找类>
    变量 name <类型 = 文本型>
    name = file.寻找文件 (取特定目录 (特定目录类型.系统桌面) + "*.*", , )
    判断循环 (取文本长度 (name) > 0)
    {
        调试输出 (name)
        name = file.寻找文件 ("", , )
    }




}

作者: 李先森    时间: 2023-9-18 19:53
(, 下载次数: 63)

作者: urenai    时间: 2023-9-18 20:03
代码以短小精悍为最优法。
越少代码量完成同样的功能,一般来讲,资源消耗最小最优。
说人话:能一句话搞明白的,不要几句话还讲不清楚。

作者: 火绒    时间: 2023-9-19 10:07
楼上的方式不建议使用,目前会出现取不全
作者: Li小彬    时间: 2023-9-19 10:35
<火山程序 类型 = "通常" 版本 = 1 />

方法 文件_枚举 <公开 静态 类型 = 整数 注释 = "枚举某个目录下的指定类型文件;成功返回文件数量;">
参数 参_父文件夹路径 <类型 = 文本型 注释 = "如:D:\\Program Files;目录分割符请用\\,路径不以\\结尾会自动添加">
参数 参_欲寻找的文件名 <类型 = 文本型 注释 = "如果寻找全部文件可以填入*.*,或*.txt只找txt文件, 多个后缀中间用“|”隔开">
参数 参_文件数组 <类型 = 文本数组类 注释 = "用于装载文件数组的变量;把寻找到的文件都放在这个数组里,并返回;">
参数 参_是否带路径 <类型 = 逻辑型 注释 = "假=不带,真=带;" @默认值 = 真>
参数 参_是否遍历子目录 <类型 = 逻辑型 注释 = "留空默认为假;为真时文件数组不主动清空" @默认值 = 假>
{
    如果真 (是否以文本结束 (参_父文件夹路径, "\\") == 假)
    {
        参_父文件夹路径 = 参_父文件夹路径 + "\\"
    }
    如果真 (参_是否遍历子目录 == 假)
    {
        参_文件数组.删除所有成员 ()
    }
    变量 局_后缀数组 <类型 = 文本数组类>
    分割文本 (参_欲寻找的文件名, "|", 局_后缀数组)
    变量 局_后缀总数 <类型 = 整数>
    局_后缀总数 = 局_后缀数组.取成员数 ()
    变量 查找 <类型 = 文件查找类>
    计次循环 (局_后缀总数)
    {
        变量 子文件 <类型 = 文本型>
        子文件 = 查找.寻找文件 (参_父文件夹路径 + 局_后缀数组.取成员 (取循环索引 ()), 文件属性.存档文件)
        // 调试输出 (文件属性.存档文件, "存档文件")
        判断循环 (子文件 != "")
        {
            如果 (参_是否带路径)
            {
                参_文件数组.加入成员 (参_父文件夹路径 + 子文件)
            }
            否则
            {
                参_文件数组.加入成员 (子文件)
            }
            子文件 = 查找.寻找文件 ("", 文件属性.存档文件)
            处理事件 ()
        }
        处理事件 ()
    }
    如果真 (参_是否遍历子目录)
    {
        变量 查找目录 <类型 = 文件查找类>
        变量 子目录 <类型 = 文本型>
        子目录 = 查找目录.寻找文件 (参_父文件夹路径 + "*.*", 文件属性.子目录)
        判断循环 (子目录 != "")
        {
            文件_枚举 (参_父文件夹路径 + 子目录, 参_欲寻找的文件名, 参_文件数组, 参_是否带路径, 参_是否遍历子目录)
            子目录 = 查找目录.寻找文件 ("", 文件属性.子目录)
            处理事件 ()
        }
    }
    返回 (参_文件数组.取成员数 ())
}

作者: Li小彬    时间: 2023-9-19 10:36
感谢大家的回复,我已经找到了官方的答复“文件_枚举”





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4