易语言 取指定目录下指定类型的所有文件到列表框

我已经有一份源码,但是为什么无法获取到 指定目录下 子目录的 指定类型的文件?
例如 我想获取 c:\a\ 这个目录(包括子目录)下的所有.exe文件到列表框
c:\a\1\1.exe
c:\a\2\2.exe
c:\a\3\3.exe
c:\a\4\4.exe
c:\a\5\5.exe
我选 c:\a\ 这个目录 但获取不到 子目录的.exe文件
源码下载地址:http://pan.baidu.com/share/link?shareid=440893&uk=201753671

.版本 2
.支持库 iext
.支持库 internet
.支持库 spec

.子程序 子程序1

超级列表框1.全部删除 ()
目录数量 = FTP目录列表 (编辑框远程.内容, , 目录列表, 目录属性, 目录尺寸, 目录时间)
处理事件 ()
表项 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (表项, 0, “上层目录”)
超级列表框1.置图片 (表项, 0, 8)

调试输出 (FTP取现行目录 ())
.计次循环首 (目录数量, n1)
.判断开始 (目录属性 [n1] = 16)
表项 = 超级列表框1.插入表项 (, , , , , )
文件大小 = 取大小 (目录尺寸 [n1])
文件属性 = 取文件类型 (目录列表 [n1])
超级列表框1.置标题 (表项, 0, 到文本 (目录列表 [n1]))
超级列表框1.置标题 (表项, 1, “文件夹”)
超级列表框1.置标题 (表项, 2, 文件大小)
超级列表框1.置标题 (表项, 3, 到文本 (目录时间 [n1]))
超级列表框1.置图片 (表项, 0, 1)
.默认

.判断结束

.计次循环尾 ()
.计次循环首 (目录数量, n1)
.判断开始 (目录属性 [n1] ≠ 16)
表项 = 超级列表框1.插入表项 (, , , , , )
文件大小 = 取大小 (目录尺寸 [n1])
文件属性 = 取文件类型 (目录列表 [n1])

超级列表框1.置标题 (表项, 2, 文件大小)
超级列表框1.置标题 (表项, 3, 到文本 (目录时间 [n1]))
超级列表框1.置标题 (表项, 0, 到文本 (目录列表 [n1]))

超级列表框1.置标题 (表项, 1, 文件属性)
超级列表框1.置图片 (表项, 0, 置图片 (文件属性))
.默认

.判断结束

.计次循环尾 ()
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-10
.版本 2
.子程序 搜索文件
.参数 目录名, 文本型
.参数 文件名, 文本型, 可空
.局部变量 结果, 文本型
.如果真 (目录名 = “”) ' 目录名为空的话提示填写目录名
信息框 (“填写目录”, 0, )
返回 () ' 返回 不填写的会继续往下执行
.如果真结束
.如果真 (文件名 = “”) ' 文件名就是 “xx.tct或 xx.exe”
文件名 = “*.*” ' "*.*"就是搜索除了文件夹以外的文件 EXE之类的 文件夹不包括在内
.如果真结束
.如果真 (取文本右边 (目录名, 1) ≠ “\”) ' 目录名是不是有\没有的话加上\以方便往下遍历
目录名 = 目录名 + “\”
.如果真结束
结果 = 寻找文件 (目录名 + 文件名, ) ' 结果=找文件 目录和要找的文件 *.*是全部文件 xx.xx是找指定文件
.判断循环首 (结果 ≠ “”) ' 结果不是空文件的话就循环 直到找到没有文件就停止循环
列表框1.加入项目 (目录名 + 结果, ) ' 在列表框里显示所找到的的文件
结果 = 寻找文件 (, ) ' 继续往下找
.判断循环尾 ()
结果 = 寻找文件 (目录名 + 文件名, #子目录)
.判断循环首 (结果 ≠ “”) ' 如果搜索的文件建不返回空 我们就继续找下去
.如果真 (结果 ≠ “.” 且 结果 ≠ “..”) ' 过滤隐藏文件
搜索文件 (目录名 + 结果, 文件名) ' 返回去调用 继续往下寻找
处理事件 ()
.如果真结束
结果 = 寻找文件 (, #子目录)
.判断循环尾 ()

这个是我几年前的源码....找了半天本回答被提问者采纳
第2个回答  2013-05-07
这个要用递归方法来寻找,具体的你去百度查吧,因为我也搞不明白递归的运用,看着有点迷糊
第3个回答  2013-05-07
寻找文件()追问

我用的是寻找文件
但是子目录的找不到

追答

首次要指定类型,可以用*.*代替,楼上已有人写了代码,可以自己参考一下。

第4个回答  2013-05-07
换个易语言

易语言如何显示指定目录内所有的文件和文件夹?
.支持库 iext .子程序 目录文件夹.局部变量 link, 文本型.局部变量 link1, 文本型.局部变量 目录, 文本型超级列表框1.全部删除 ()目录 = 驱动器框1.驱动器 + “:\\*”link = 寻找文件 (目录, #子目录).判断循环首 (link ≠ “”).如果真 (link ≠ “.” 且 link ≠ “..”)超...

易语言如何显示指定目录内全部文件及目录
易语言的“枚举子目录”命令会递归地搜索指定目录下的所有文件和文件夹,并通过回调函数“回调_处理文件”来处理每一个找到的文件或文件夹。在回调函数中,我们将文件名添加到“文件列表”数组中。最后,通过一个循环来输出数组中的所有文件名,从而实现了显示指定目录下所...

易语言如何在指定目录查找文件和文件夹?
易语言在指定目录查找文件和文件夹的方法主要依赖于“寻找文件”命令。首先,需要明确要搜索的目录路径。例如,如果想要搜索C盘下的所有文件和文件夹,那么目录路径就是“C:\\*”。接着,使用“寻找文件”命令,并指定欲寻找的文件或目录名称以及欲寻找文件的属性。这个命令...

易语言如何显示指定目录内所有的文件和文件夹
`取目录内容`函数的第二个参数设置为1,表示我们想要获取该目录下的所有文件和文件夹。通过`对于...计数循环`,我们遍历了`文件列表`数组中的每一个元素,并使用`打印`命令将其输出。这样,你就可以在易语言的输出窗口中看到指定目录内所有的文件和文件夹名称了。

易语言怎么把一个文件夹中的全部文件名加入列表框
取空白文本 (255)ID = 浏览文件夹对话框_(文件夹信息)从列表id取路径_(ID,路径)文件框1.目录 = 路径 MP3路径 = 寻找文件 (路径 + “\\*.mp3”,).判断循环首 (MP3路径 ≠ “”)输出调试文本 (MP3路径)索引 = 超级列表框1.插入表项 (,,,)超级列表框1.置标题 (索引,0,路径 + “...

易语言如何在指定目录查找文件和文件夹
在易语言中,要在指定目录查找文件和文件夹,可以通过调用系统API或利用易语言内置的文件操作函数来实现。首先,可以使用`取目录内容()`函数来获取指定目录下的所有文件和文件夹名称列表,该函数返回一个文本型数组,每个元素代表一个文件或文件夹的名称。接着,可以遍历这个数组,对每个元素进行判断,判断...

易语言如何在指定目录查找文件和文件夹
此外,易语言还提供了“取子目录列表”等函数,可以一次性获取指定目录下的所有子目录列表,但对于文件,可能需要结合其他函数或命令来实现。综上所述,易语言通过结合使用遍历目录、取文件扩展名、条件判断以及可能的递归调用等技术,可以有效地在指定目录及其子目录下查找文件和文件夹。注意,具体实现时需要...

易语言 取指定目录下指定类型的所有文件到列表框
我已经有一份源码,但是为什么无法获取到 指定目录下 子目录的 指定类型的文件?例如 我想获取 c:\\a\\ 这个目录(包括子目录)下的所有.exe文件到列表框 c:\\a\\1\\1.exe c:\\a\\2\\2.exe c:\\a\\3\\3.exe c:\\a\\4\\4.exe ... 展开 9261844 | 浏览1982 次 |举报 我有更好的答案推荐...

易语言 怎么将一个文件夹里面的所有文件和文件夹添加到列表框,注意文件...
DLL命令 从列表id取路径_, 整数型, "shell32.dll", "SHGetPathFromIDListA", , ,参数 结构指针, 整数型, , pIdl参数 路径, 文本型, 传址, pszPathDLL命令 浏览文件夹对话框_, 整数型, "shell32.dll", "SHBrowseForFolderA", , ,参数 浏览文件夹结构, 文件夹信息_数据类型 文件夹信息_, ,...

易语言读取FTP指定目录里的txt文件名到列表框
.子程序 _列表框1_双击选择 .如果 (连接FTP服务器 (FTP, USR, PAS, , ))FTP置现行目录 () ' 设为你指定的目录 .如果 (FTP文件下载 (列表框1.取项目文本 (列表框1.现行选中项), “.\\temp.txt”, ))编辑框1.内容 = 到文本 (读入文件 (“.\\temp.txt”)).否则 信息框 (“FTP...

相似回答