netegg 发表于 2008-5-15 16:16:38

如何获取文件夹名?[搞定]

通过递归查找指定文件,问题是,如何获得该文件的详细文件路径?

[ 本帖最后由 netegg 于 2008-5-21 22:45 编辑 ]

马甲 发表于 2008-5-15 16:39:10

_filelist("F:\movie")

Func _filelist($searchdir)                        ;;;函数名(形参)
$search = FileFindFirstFile($searchdir & "\*.*")       ;;;;查找c:根目下的文件
If $search = -1 Then return -1                   ;;;;如果找不到,返回值 -1
While 1
    $file = FileFindNextFile($search)         ;;;查找下一个文件
    If @error Then                                        ;;;如果找不到文件

         FileClose($search)                           ;;;则关闭此句柄
         return                                                   ;;;返回
    Elseif$file = "."or $file = ".." Then    ;;如果找到的文件名为.或..则 ContinueLoop
         ContinueLoop                                    ;;;在某些版本的AU3里面可以不需要上行和这行。
    ElseIf stringinstr(FileGetAttrib($searchdir & "\" & $file),"D") then      ;;如果找到的是一个文件夹,则
         _filelist($searchdir & "\" & $file)    ;;递归调用filelist函数,并传参数"$searchdir & "\" & $file"

    EndIf                                                          ;;;$file为查找到的文件夹名称,上一行意思就是进入此文件夹继续查找文件.如此循环
    ConsoleWrite( $searchdir & "\" & $file & @crlf )
WEnd
EndFunc

浅绿 发表于 2008-5-15 21:45:38

很详细..

ollydbg 发表于 2008-5-16 10:33:37

先保存下来,或许以后用得着。 ^_^

netegg 发表于 2008-5-17 01:51:04

我要的是要查找的文件所在文件夹啊,换句话说,我需要的是指定一个文件名,如何获取路径,不用枚举这么麻烦吧
这个代码似乎是递归枚举文件夹中包含子目录的所有文件的文件名吧。


举个例子:比如firefox的设置文件pref.js在C:\Documents and Settings\\Application Data\Mozilla\Firefox\Profiles\*********.default文件夹中,现在,想要修改pref.js,需要知道前面的路径user好办,那个********怎么办?

[ 本帖最后由 netegg 于 2008-5-17 02:04 编辑 ]

ap112 发表于 2014-6-26 13:32:18

学习了,不错

nqawen 发表于 2014-8-15 09:05:10

学习中,,方法很好,收下了

d494031732 发表于 2014-9-8 13:40:02

这个是遍历所有文件吧,如果要指定类型的话是要写正则吗?
页: [1]
查看完整版本: 如何获取文件夹名?[搞定]