注册 登录
编程论坛 ASP技术论坛

怎样获取文件夹内文件个数

thbwn 发布于 2008-08-04 18:37, 3358 次点击
如题,包括其子文件夹内的文件。谢谢
30 回复
#2
octillion2008-08-04 18:52
用fso组件遍历。
#3
octillion2008-08-04 18:53
这是一个遍历文件的示例程序
程序代码:

<%

    Server.ScriptTimeout=200
    
    Dim fso
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    
    Dim Folder,A_File
    Set Folder=fso.GetFolder(Server.MapPath("/bbs/"))
    Response.Write Folder.Path
    
    ReplaceFolder(Folder)
    
    Sub ReplaceFolder(Folder)
        Dim SubFolder
        For Each SubFolder In Folder.SubFolders
            ReplaceFolder(SubFolder)
        Next ' SubFolder
        Dim SubFile
        For Each SubFile In Folder.Files
            ReplaceFile(SubFile.Path)
        Next
    End Sub
    
    Sub ReplaceFile(FileName)
        'Response.Write FileName & "<br />"
        On Error Resume Next
        If Instr(LCase(FileName),"asa")>0 then Response.Write FileName & "<BR />"
    End Sub
    
    
%>
#4
octillion2008-08-04 18:53
这是一种搜索思想,叫做深度优先搜索(DFS)
#5
thbwn2008-08-04 21:23
怎么获取文件的个数呀
#6
octillion2008-08-04 21:36
遍历的时候计数啊……
#7
octillion2008-08-04 21:36
当然Folder对象里估计是有文件个数属性的
#8
thbwn2008-08-04 21:47
俺不会哟,谁会帮帮忙
#9
octillion2008-08-04 22:13
你的意思是,把源代码给了你了,就是帮你了,否则就不是了?

那老师还上什么课,直接考试的时候给你答案就是了。
#10
thbwn2008-08-04 22:58
哥们儿有意思!
实在不会,老师也会告诉你怎么做的哟
#11
thbwn2008-08-04 23:00
我可没有说你没帮我!你想多了
#12
hahatuzi20002008-08-05 11:31

代码啥意思,给解释一下啊~
#13
octillion2008-08-05 11:33
我觉得很清楚了呀

如果你了解递归的原理的话,我的程序就是一个深度优先周游所有文件,你只要在周游每个文件的时候给计数器加一就行了,或者干脆周游所有文件夹然后给计数器加上文件夹下文件个数。
#14
keihao2008-08-05 13:58
看了有点难度
#15
thbwn2008-08-05 16:16
能统计数,但不是总数,只是每个文件夹内的文件数。怎样解决?
<%

    Server.ScriptTimeout=200
   
    Dim fso
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
   
    Dim Folder,A_File
    Set Folder=fso.GetFolder(Server.MapPath("/bbs/"))
    Response.Write Folder.Path
   
    ReplaceFolder(Folder)
   
    Sub ReplaceFolder(Folder)
        Dim SubFolder
        For Each SubFolder In Folder.SubFolders
            ReplaceFolder(SubFolder)
        Next
        Dim SubFile,i
        i=0        
        For Each SubFile In Folder.Files
            ReplaceFile(SubFile.Path)
        i=i+1      
        Next
        Response.Write i & "<br />"
    End Sub
   
    Sub ReplaceFile(FileName)
    Response.Write FileName & "<br />"
    End Sub
   
   
%>

[[it] 本帖最后由 thbwn 于 2008-8-5 16:19 编辑 [/it]]
#16
octillion2008-08-05 17:05
你看看变量的作用域,再看看应该在哪里定义变量。

讨厌不定义变量的代码,这很不严谨。
#17
thbwn2008-08-05 18:51
实在不会罗
#18
octillion2008-08-05 19:29
那建议你一步一步学。

搞程序设计居然连递归都不理解,真是让人笑话。还有你,不定义变量是个很不好的习惯。变量的作用域?没听过这个词吧?
#19
thbwn2008-08-05 19:38
你要是不想讲,就可以不回嘛
#20
thbwn2008-08-05 19:39
你是高手,不能意味着别人跟你一样强,都强还问什么
#21
thbwn2008-08-05 19:40
我是想学,有时候一个小技巧,都从头学,费时!我也不想当程序设计员,只想自己用到这个了,需要解决!

[[it] 本帖最后由 thbwn 于 2008-8-5 19:43 编辑 [/it]]
#22
thbwn2008-08-05 19:41
你厉害,别人不会,你不能一味取笑,你会你会你的不就得了,不想答,也许别人会给帮助的
#23
thbwn2008-08-05 19:42
你说别的有意思吗,不过你的建议我会用采纳,慢慢学
#24
thbwn2008-08-05 19:44
往往高手都应该很谦虚,别人不会,那是不厌其烦。
#25
thbwn2008-08-05 19:44
你的言语让我很生气,这里不是你开的,我问有错吗,简直忍无可忍。
#26
thbwn2008-08-05 19:45
林子大了,什么鸟儿都有!!!!
#27
anlige2008-08-06 14:19
http://blog.
#28
thbwn2008-08-06 14:40
非常感谢,anlige!
你的方法是正解!值得研究!
#29
zhongx2008-08-30 13:26
支持你的看法DDDDDDDDDDDDDDDDDDDDDDD
#30
zhongx2008-08-30 13:29
论坛大部分都是好的,只有一小部分...
#31
zhongx2008-08-30 13:31
但我还是建议你有问题先百度一下.
1