易语言基础——遍历指定目录下的所有文件(包含子目录中的文件)

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/83453816

1.实现效果:
寻找指定目录下的文件(包括子目录中的文件)

2.知识点:
寻找到的文件名 = 寻找文件 (文件目录 + “\*.*”,1 + 2 + 4 + 16 + 32 ), *.*为正则表达式的写法,*是通配符;
寻找到的文件名 = 寻找文件 (, 1 + 2 + 4 + 16 + 32),第一个参数为空代表表示在之前指定过的目录下继续寻找文件;
根据返回的文件名是否为空循环寻找所有文件;
递归算法;
3.源码:

.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击

子程序_查找所有文件 (编辑框_文件目录.内容)


.子程序 子程序_查找所有文件
.参数 文件目录, 文本型
.局部变量 文件名, 文本型

.如果真 (取文本右边 (文件目录, 1) ≠ “\”)
    文件目录 = 文件目录 + “\”
.如果真结束

文件名 = 寻找文件 (文件目录 + “*.*”, 1 + 2 + 4 + 16 + 32)

.判断循环首 (文件名 ≠ “”)

    ' 过滤掉这两个无关结果
    .如果真 (文件名 = “.” 或 文件名 = “..”)
        文件名 = 寻找文件 (, 1 + 2 + 4 + 16 + 32)
        到循环尾 ()
    .如果真结束

    ' 遍历子目录下面的文件
    .如果真 (取文件属性 (文件目录 + 文件名) = #子目录)
        子程序_查找所有文件 (文件目录 + 文件名)
        调试输出 (文件目录 + 文件名)
        文件名 = 寻找文件 (, 1 + 2 + 4 + 16 + 32)
        到循环尾 ()
    .如果真结束

    列表框1.加入项目 (文件名, )
    文件名 = 寻找文件 (, 1 + 2 + 4 + 16 + 32)
.判断循环尾 ()


 

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/83453816