我已经有一份源码,但是为什么无法获取到 指定目录下 子目录的 指定类型的文件?
例如 我想获取 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, ç½®å¾ç (æ件å±æ§))
.é»è®¤
.å¤æç»æ
.计次循ç¯å°¾ ()
.æ¯æåº 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.加入项目 (目录名 + 结果, ) ' 在列表框里显示所找到的的文件
结果 = 寻找文件 (, ) ' 继续往下找
.判断循环尾 ()
结果 = 寻找文件 (目录名 + 文件名, #子目录)
.判断循环首 (结果 ≠ “”) ' 如果搜索的文件建不返回空 我们就继续找下去
.如果真 (结果 ≠ “.” 且 结果 ≠ “..”) ' 过滤隐藏文件
搜索文件 (目录名 + 结果, 文件名) ' 返回去调用 继续往下寻找
处理事件 ()
.如果真结束
结果 = 寻找文件 (, #子目录)
.判断循环尾 ()
这个是我几年前的源码....找了半天本回答被提问者采纳
.子程序 搜索文件
.参数 目录名, 文本型
.参数 文件名, 文本型, 可空
.局部变量 结果, 文本型
.如果真 (目录名 = “”) ' 目录名为空的话提示填写目录名
信息框 (“填写目录”, 0, )
返回 () ' 返回 不填写的会继续往下执行
.如果真结束
.如果真 (文件名 = “”) ' 文件名就是 “xx.tct或 xx.exe”
文件名 = “*.*” ' "*.*"就是搜索除了文件夹以外的文件 EXE之类的 文件夹不包括在内
.如果真结束
.如果真 (取文本右边 (目录名, 1) ≠ “\”) ' 目录名是不是有\没有的话加上\以方便往下遍历
目录名 = 目录名 + “\”
.如果真结束
结果 = 寻找文件 (目录名 + 文件名, ) ' 结果=找文件 目录和要找的文件 *.*是全部文件 xx.xx是找指定文件
.判断循环首 (结果 ≠ “”) ' 结果不是空文件的话就循环 直到找到没有文件就停止循环
列表框1.加入项目 (目录名 + 结果, ) ' 在列表框里显示所找到的的文件
结果 = 寻找文件 (, ) ' 继续往下找
.判断循环尾 ()
结果 = 寻找文件 (目录名 + 文件名, #子目录)
.判断循环首 (结果 ≠ “”) ' 如果搜索的文件建不返回空 我们就继续找下去
.如果真 (结果 ≠ “.” 且 结果 ≠ “..”) ' 过滤隐藏文件
搜索文件 (目录名 + 结果, 文件名) ' 返回去调用 继续往下寻找
处理事件 ()
.如果真结束
结果 = 寻找文件 (, #子目录)
.判断循环尾 ()
这个是我几年前的源码....找了半天本回答被提问者采纳
第2个回答 2013-05-07
这个要用递归方法来寻找,具体的你去百度查吧,因为我也搞不明白递归的运用,看着有点迷糊
第3个回答 2013-05-07
寻找文件()追问
我用的是寻找文件
但是子目录的找不到
首次要指定类型,可以用*.*代替,楼上已有人写了代码,可以自己参考一下。
第4个回答 2013-05-07
换个易语言