你说的这种,要搜索指定
文件夹下的所有文件,包括子文件下的文件。那么你要用到递归方式来搜索,你欠缺基础知识的学习,呵呵。下面,我提供给你,我专门制作的子程序,用来调用递归搜索的,只要你看的明白就成。
源码如下:
.版本 2
.子程序 系统_搜索所有文件, , 公开, 递归方式搜索目录下的所有符合文件,参数3和参数4为程序集型数组变量,返回[搜索到文本型数组]
.参数 要搜索的目录, 文本型, , 要搜索的目录(c:或c:\)
.参数 要搜索的文件, 文本型, 可空, [可空]要搜索的文件(a.exe或*.exe),如果为空默认搜索*.*
.参数 返回路径加文件名数组, 文本型, 可空 数组, [可空]程序集型返回路径加文件名文本数组,要定义在程序集型数组变量。
.参数 返回文件名数组, 文本型, 可空 数组, [可空]程序集型返回单纯的文件名文本数组,要定义在程序集型数组变量。
.局部变量 文件名, 文本型
.局部变量 路径加文件名数组, 文本型, 静态, "0", cjn_搜索所有文件调用
.局部变量 文件名数组, 文本型, 静态, "0", cjn_搜索所有文件调用
处理事件 ()
.如果真 (要搜索的文件 = “”)
要搜索的文件 = “*.*”
.如果真结束
.如果真 (取文本右边 (要搜索的目录, 1) ≠ “\”)
要搜索的目录 = 要搜索的目录 + “\”
.如果真结束
文件名 = 寻找文件 (要搜索的目录 + 要搜索的文件, )
.判断循环首 (文件名 ≠ “”)
加入成员 (路径加文件名数组, 要搜索的目录 + 文件名) ' 此[搜索到的文件数组]数组变量未定义,可在编写的程序集中定义此数组(此为返回目录+文件名)
加入成员 (文件名数组, 文件名) ' 此[搜索到的文件数组]数组变量未定义,可在编写的程序集中定义此数组(此为返回单纯的文件)
文件名 = 寻找文件 (, )
.判断循环尾 ()
文件名 = 寻找文件 (要搜索的目录 + “*.*”, #子目录)
.判断循环首 (文件名 ≠ “”)
.如果真 (取文本左边 (文件名, 1) ≠ “.”)
系统_搜索所有文件 (要搜索的目录 + 文件名, 要搜索的文件)
.如果真结束
文件名 = 寻找文件 (, #子目录)
.判断循环尾 ()
复制数组 (返回路径加文件名数组, 路径加文件名数组)
复制数组 (返回文件名数组, 文件名数组)