注册 登录
编程论坛 VB6论坛

求助:遍历指定路径下的文件的代码

sx_dg 发布于 2015-12-20 02:01, 6619 次点击
C:\Documents and Settings\Administrator\桌面
求助遍历桌面文件夹中的文件的代码 谢谢!
For ?????
   MsgBox 循环到的文件名
Next
7 回复
#2
HVB62015-12-20 09:24

Private Sub CommandButton1_Click()
    Dim arr()
    a = app.Path & "\"
    b = Dir(a & "C:\Documents and Settings\Administrator\桌面\*.*")
    Do While b <> ""
        msgbox b
       b = Dir
    Loop
  MsgBox "ok"
   End Sub


[此贴子已经被作者于2015-12-20 09:31编辑过]

#3
HVB62015-12-20 09:25

Private Sub CommandButton1_Click()
    Dim arr()
    a = app.Path & "\"
    b = Dir(a & "C:\Documents and Settings\Administrator\桌面\*.*")
    Do While b <> ""
           MsgBox  b
        b = Dir
    Loop
     MsgBox "ok"
 End Sub


[此贴子已经被作者于2015-12-20 09:31编辑过]

#4
sx_dg2015-12-20 10:32
回复 3楼 HVB6
   Dim fso, MyPath$
   Dim myfile,
   Set fso = CreateObject("scripting.filesystemobject")
   For Each myfile In fso.getfolder(MyPath).Files                           
       zzwjm = myfile.Name                                                
   Next myfile
首先感谢老师!
另外,请教大侠,我以前的代码是上面这样的,现在运行不起来,因为对代码不理解,所以不知道原因在哪,希望到老师指导:
   Set fso = CreateObject("scripting.filesystemobject")
   For Each myfile In fso.getfolder(MyPath).Files                           
这两句代码的总含义是什么?红色字的单词又是什么意思?

谢谢!

[此贴子已经被作者于2015-12-20 10:43编辑过]

#5
chbzyh2015-12-20 16:36
这个网上有,你搜下哦!
#6
aa97022015-12-21 10:09
这是我常用的方法,希望能给你帮助
Private Sub Command1_Click()
    Dim Paths() As String
    Dim Files As String
    Dim I As Long
    Dim n As Long
    ReDim Paths(0)                                                                  '初始化动态数组
    Paths(0) = "D:\"      '要遍历的路径,建议用变量或控件找替                         '指定开始搜索的路径
    If Right(Paths(0), 1) <> "\" Then Paths(0) = Paths(0) & "\"                     '判断是否根目录,如果不是后面要加 "\"
    Do While I <= n
        Files = Dir(Paths(I), vbDirectory)                                          '这里只能返回普通属性的文件和文件夹,如下写法可返回带隐藏属性的
        Do While Files <> ""                                                        'Files = Dir(Paths(I), vbDirectory Or vbHidden),以此类推,自己研究
        DoEvents                                                                    '响应外部事件,避免假死
            If Files <> "." And Files <> ".." Then                                  '判断当前目录与根目录
                If (GetAttr(Paths(I) & Files) And vbDirectory) = vbDirectory Then   '判断返回的是不是文件夹
                    n = n + 1
                    ReDim Preserve Paths(n)
                    Paths(n) = Paths(I) & Files & "\"                               '将得到的目录保存在数组中(完整路径)
                    List1.AddItem Files                                             '将得到文件夹添加到列表中,如果取全路径用 Paths(n)
                Else
                    List2.AddItem Files                                             '这里返回的是文件,如果要指定的文件,在这里写判断语句就可以了,如下:
                   ' If InStr(Files, ".txt") > 0 Then                               '从返回的文件中查找指定的文件, Instr 函数如果不懂可在网上查下资料
                   '     List3.AddItem Files
                   ' End If
                End If
            End If
            Files = Dir                                                             '递归,Dir的二次调用
        Loop
        I = I + 1
    Loop
End Sub
#7
sx_dg2015-12-22 23:18
回复 6楼 aa9702
谢谢
#8
mh08012015-12-23 10:02
  不错的  受教了
1