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