如何遍历c#.net中目录中的所有文件?

我想获得文件夹中,也在其子文件夹中的文件。以下代码不会获取其子文件夹中的文件:

string[] files = Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs"); 

任何人都可以请告诉我如何在C#.net中实现这个?

 string[] files = Directory.GetFiles(txtPath.Text, "*ProfileHandler.cs", SearchOption.AllDirectories); 

最后一个参数的效果正是你所指的。 将其设置为AllDirectories以包含子文件夹中的每个文件,并将其设置为TopDirectoryOnly,如果您只想在给定的目录中search而不是子文件夹。

有关详细信息,请参阅MDSN: https ://msdn.microsoft.com/en-us/library/ms143316(v = vs.110).aspx

尝试下面的代码

 Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs",SearchOption.AllDirectories) 

你可以看看这个页面显示深度文件夹复制,它使用recursion手段遍历文件,并有一些非常好的提示,如过滤技术等。

http://www.codeproject.com/Tips/512208/Folder-Directory-Deep-Copy-including-sub-directori

可能是你可以尝试这个function稍作改动;

 public function RecursiveFiles(FolderPath) Dim folder As DirectoryInfo = New DirectoryInfo(FolderPath ) Dim Subfolders() As DirectoryInfo = folder .GetDirectories() Dim strFiles() As FileInfo = myfolder.GetFiles() For Each myItem As DirectoryInfo In mySubfolders RecursiveFiles(myItem.FullName) Next end function 

这是实际的代码。 尝试一些修改。