gfuchao 发表于 2011-3-16 19:57:45

查找文件


$var = DriveGetDrive( "FIXED" )

If NOT @error Then
    For $i = 1 to $var

$find = FileFindFirstFile($var[$i] & "\*.bbd")
               
                $file = FileFindNextFile($find)
                               
                MsgBox(0,0,$var[$i] & "\" &$file)
               
                FileDelete($var[$i] & "\" &$file)
                               
    Next
EndIf

FileFindFirstFile只能所搜到当前目录下的文件.
不能搜索,子目录下的
请问大家,有什么思路
我看了别人的搜索,代码太复杂太多!,愣是没看懂,太笨了
请大家修改下我以上的代码!谢谢

lixiaolong 发表于 2011-3-16 20:22:57

回复 1# gfuchao

自己搜索了没有?
http://www.autoitx.com/search.php?searchid=414&orderby=lastpost&ascdesc=desc&searchsubmit=yes

gfuchao 发表于 2011-3-16 21:06:50

回复gfuchao

自己搜索了没有?
lixiaolong 发表于 2011-3-16 20:22 http://www.autoitx.com/images/common/back.gif

搜索了,就是因为没看懂

才提问的,谢谢

还忘,各位帮忙修改下我上边自己写的代码,这样比较容易懂点

谢谢

hbwazxf 发表于 2011-3-16 21:42:53

我是新手。帮顶吧。

lixiaolong 发表于 2011-3-16 21:57:53

本帖最后由 lixiaolong 于 2011-3-16 22:10 编辑

回复 3# gfuchao

是这样效果吧?
但这么搜索是很慢很慢的,因为搜索每个盘下的所有文件,文件越多越慢.$var = DriveGetDrive("FIXED")
If Not @error Then
        For $i = 1 To UBound($var) - 1
                FindFile($var[$i], ".exe")
        Next
EndIf

Func FindFile($GetDrive, $FindFile)
        Local $search = FileFindFirstFile($GetDrive & "\*.*")
        While 1
                Dim $file = FileFindNextFile($search)
                If @error Or StringLen($file) < 1 Then ExitLoop
                If Not StringInStr(FileGetAttrib($GetDrive & "\" & $file), 'D') And _
                                StringRight($GetDrive & "\" & $file, StringLen($FindFile)) = $FindFile Then
                        ConsoleWrite($GetDrive & '\' & $file & @CRLF)
                EndIf
                FindFile($GetDrive & "\" & $file, $FindFile)
        WEnd
EndFunc   ;==>FindFile

gfuchao 发表于 2011-3-16 23:50:25

我是新手。帮顶吧。
hbwazxf 发表于 2011-3-16 21:42 http://www.autoitx.com/images/common/back.gif

感谢你的热心帮助.

这样虽然慢.但是达到学习的目的了,谢谢
页: [1]
查看完整版本: 查找文件