给出一个文件夹,然后程序遍历该文件夹,记录里的所有子文件夹及文件

给出一个文件夹,然后程序遍历该文件夹,记录里的所有子文件夹及文件,第1张

首先是有一个已知的路径,现在要遍历该路径下的所有文件衡核及文件夹,因此定义了一个列表,用于存放遍历到的文件名。C#代码如下:

string path = "给定的文件夹名称"

List<string> nameList = new List<string>()

Director(path,nameList)

public void Director(string 咐衡掘拦备dir,List<string> list)

 {

      DirectoryInfo d = new DirectoryInfo(dir)

      FileInfo[] files = d.GetFiles()//文件

      DirectoryInfo[] directs = d.GetDirectories()//文件夹

      foreach (FileInfo f in files)

      {

           list.Add(f.Name)//添加文件名到列表中  

      }

      //获取子文件夹内的文件列表,递归遍历  

      foreach (DirectoryInfo dd in directs)

      {

            Director(dd.FullName, list)

      } 

 }

Function SearchFiles(Path As String, FileType As String)

Dim Files() As String '文件路径

Dim Folder() As String '文件夹路径

Dim a, b, c As Long

Dim sPath As String

sPath = Dir(Path &FileType) '查找第一个文件

Do While Len(sPath) '循环到没有文件为止

a = a + 1

ReDim Preserve Files(1 To a)

Files(a) = Path &sPath '将文件目录和文件名组合,并存放到数组中御枣

List1.AddItem Files(a) '加入list控件中

sPath = Dir '查找下一个文件

DoEvents '让出控制权

Loop

sPath = Dir(Path &"\镇弊拆", vbDirectory) '查找第一个文件夹

Do While Len(sPath) '循环到没有文件夹为止

If Left(sPath, 1) <>"." Then '为了防止重复查找

If GetAttr(Path &"\" &sPath) And vbDirectory Then '如果是文件夹则。。。。。。

b = b + 1

ReDim Preserve Folder(1 To b)

Folder(b) = Path &sPath &"\" '将目录和文件夹名称组合形成新的目录,并存放到数组中

End If

End If

sPath = Dir '查找下一个文件夹

DoEvents '让出控制权

Loop

For c = 1 To b '使用递归方法,遍历所有目录

SearchFiles Folder(c), FileType

Next

End Function

Private Sub Command1_Click() '调卜碧用

SearchFiles "e:\", "*.exe"

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12169813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存