hcwanz 发表于 2024-1-13 19:52:04

遍历文件夹方法

本帖最后由 hcwanz 于 2024-1-13 20:27 编辑

一个小东西,用于遍历文件夹中的所有文件。

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

包 火山.程序

类 启动类 <公开 基础类 = 程序类>
{
    变量 文管 <类型 = 文件查找类>
    变量 配置基 <静态 类型 = 文本型 值 = "D:\\配置\\">

    方法 启动方法 <公开 类型 = 整数>
    {
      调试输出 (文管.寻找文件 (配置基 + "*", 0, ))
      返回 (1)
    }

    方法 文件查找类_找到文件 <接收事件 类型 = 整数 注释 = "每当找到任何一个文件或目录,在进行\"欲寻找文件的属性\"参数值所指定的" 注释 = "属性匹配检查之前,就会发送此事件."
            返回值注释 = "事件处理方法返回1表示认可此文件并将其返回,返回0表示不进行任何处理." 折叠2>
    参数 来源对象 <类型 = 文件查找类 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 欲寻找文件的属性 <类型 = 整数 注释 = "调用\"寻找文件\"所提供的\"欲寻找文件的属性\"参数值">
    参数 当前文件名称 <类型 = 文本型 注释 = "提供当前所找到的文件或目录的名称">
    参数 当前文件属性 <类型 = 整数 注释 = "提供当前所找到的文件或目录的属性,为\"文件属性\"类中各个常量值的组合," 注释 = "可以使用\"位与\"关键字分别判断.">
    {
      变量 层标 <静态 类型 = 整数 值 = 0 注释 = "当前在几层子文件夹里">
      调试输出 (取重复文本 (">", 标记值) + 当前文件名称)
      如果 (当前文件属性 == 文件属性.子目录)// 当前找到的文件是文件夹//遍历当前文件夹
      {
            层标 = 层标 + 1
            连接路径 (配置基, 当前文件名称, 配置基)// 新欲遍历文件夹的绝对路径
            变量 子查找 <类型 = 文件查找类>
            挂接事件 (子查找, 层标)
            如果 ("" == 子查找.寻找文件 (配置基 + "\\*", 0))// 进行当前文件夹的遍历。当返回空文本的时候,说明文件夹已经遍历完了。
            {
                配置基 = 取文件名路径 (配置基)// 删除当前文件夹名,获得上级文件夹绝对路径。
                层标 = 层标 - 1
            }
      }
      返回 (0)
    }
}




页: [1]
查看完整版本: 遍历文件夹方法