C# 遍历文件夹下所有子文件夹中的文件,得到文件名

C# 遍历文件夹下所有子文件夹中的文件,得到文件名,第1张

输入某文件路径,遍历文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:

/// <summary>

/// 查找指定文件夹下指定后缀名的文件

/// </summary>

/// <param name="directory">文件夹</param>

/// <param name="pattern">后缀名</param>

/// <returns>文件路径</returns>

public void GetFiles(DirectoryInfo directory, string pattern, ref List<string>fileList)

{

if (directory.Exists || pattern.Trim() != string.Empty)

{

try

{

foreach (FileInfo info in directory.GetFiles(pattern))

{

fileList.Add(info.FullName.ToString())

}

}

catch (System.Exception ex)

{

Console.WriteLine(ex.ToString())

}

foreach (DirectoryInfo info in directory.GetDirectories())//获取文件夹下的子文件夹

{

GetFiles(info, pattern, ref fileList)//递归调用该函数,获取子文件夹下的文件

}

}

}

使用实例:

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

GetFiles(new DirectoryInfo(@"C:\","*.*", ref FindResult) //获取C盘下的所有文件路径

GetFiles(new DirectoryInfo(@"\\192.168.1.107\Save"), "*.*", ref FindResult)//获取局域网上共享文件夹下的所有文件

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

现成的没有,给你参考下:

c++:

1、CFileFind类实现遍历文件,FindNext()查找下一个文件

2、比较文件后缀,符合要求就写入txt

有不懂得话加Q:2311776177!


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存