如何遍历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
这是实际的代码。 尝试一些修改。