【已解决】用".*"搜索文件问题
本帖最后由 touch_xu 于 2010-11-6 00:52 编辑如下代码用用".*"搜索文件为什么没有结果,但是单个的如.txt,就能有结果.我想一次找多种类型的就不行吗,大家有什么好的快的方法啊^-^#CS
_Find($path, $type, $flag,ByRef $result)
说明:
$path:表示要搜索的位置,如"E:\abc",表示E盘下的abc文件夹,路径的末尾请勿加斜杠;
$type:表示文件类型,如".exe",一定要带点;
$flag:值为0,代表仅搜索该目录,不包括子目录;值为1,代表搜索该目录及其以下的所有子目录;
$result:表示要引用的数组,用来存放搜索结果,请先初始化要引用的数组为只拥有一个元素,如Dim $get
$result:为搜索到的匹配个数
#CE
Func _Find($path, $type, $flag, ByRef $result)
$FileList = _FileListToArray($path)
If Not @error Then
For $i = 1 To $FileList Step 1
If StringRight($FileList[$i], 4) = $type Then
_ArrayAdd($result, $path & "\" & $FileList[$i])
$result = UBound($result) - 1
Else
If $flag == 1 Then
_Find($path & "\" & $FileList[$i], $type, $flag, $result)
EndIf
EndIf
Next
EndIf
EndFunc ;==>_Find 问题出在这 If StringRight($FileList[$i], 4) = $type Then 这个函数很不严谨,比如一个不匹配你的扩展名的文件,而且指定了搜索子目录,结果还要把它当路径处理进行搜索,不知道会是什么结果,但是逻辑上通不过 小弟肯求大侠们有没有高快速高效严谨的搜索算法,望赐教 递归搜索*.*,满足条件1、后缀不为空2、文件属性不为‘D’。 LZ静下心来,到这里好好学习下 http://www.autoitx.com/forum.php?mod=viewthread&tid=12130 谢谢,已解决
页:
[1]