vanlee 发表于 2008-11-10 09:30:22

关于搜索文件的方法?

请问下我有什么办法可以实现在C盘或者其他盘搜索指定格式的的文件?

[ 本帖最后由 vanlee 于 2008-12-1 18:21 编辑 ]

vanlee 发表于 2008-11-10 09:30:46

请给个源码,万分感谢1!!

大绯狼 发表于 2008-11-10 11:27:46

Search("D:\", "exe")
Func Search($current, $ext)
      Local $search = FileFindFirstFile($current & "\*.*")
      While 1
                Dim $file = FileFindNextFile($search)
                If @error Or StringLen($file) < 1 Then ExitLoop
                If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "."Or $file <> "..") Then
                        If StringRight($current & "\" & $file, StringLen($ext)) = $ext Then
;~                                 MsgBox(0,0,$current & "\" & $file)
                        EndIf
                EndIf
                If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "."Or $file <> "..") Then
                        Search($current & "\" & $file, $ext)
               
                EndIf
      WEnd
      Return
EndFunc   ;==>Search

vanlee 发表于 2008-11-10 11:55:02

好像不行呃,我是要D盘所有子目录的EXE文件,而且你这个我运行下没动劲!!

vanlee 发表于 2008-11-10 13:25:20

没有人可以回答我吗?

大绯狼 发表于 2008-11-10 13:40:21

把代码的那行注释取消掉你就知道是怎么回事了

vanlee 发表于 2008-11-10 14:08:40

有些看不懂,你这个程序怎么在目录里找完以后重新回到首目录再找呢?那个自已调用自己的函数没看懂了!能不能请前辈再解释一下。

liongodmien 发表于 2008-11-10 15:23:34

原帖由 vanlee 于 2008-11-10 14:08 发表 http://www.autoitx.com/images/common/back.gif
有些看不懂,你这个程序怎么在目录里找完以后重新回到首目录再找呢?那个自已调用自己的函数没看懂了!能不能请前辈再解释一下。
代码中间有一行是被注释掉了的,你把那个注释掉了的命令行取消注释就可以了,函数不是自己调用自己,是带参数调用

liongodmien 发表于 2008-11-10 15:25:28

我个人更喜欢用@COMSPEC的DIR命令,简单快捷...

沉默的斗鱼 发表于 2017-7-31 02:52:33

支持源码作品,学习学习。

hjq766 发表于 2018-10-22 12:24:33

学习下,感谢分享!
页: [1]
查看完整版本: 关于搜索文件的方法?