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

如题所述

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

/// <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);//获取局域网上共享文件夹下的所有文件

温馨提示:内容为网友见解,仅供参考
无其他回答

C# 遍历文件夹下所有子文件夹中的文件,如何得到文件名?
ref fileList);\/\/递归调用该函数,获取子文件夹下的文件}}} 使用实例:List<string> FindResult = new List<string>();GetFiles(new DirectoryInfo(@"C:\\","*.*", ref FindResult); \/\/获取C盘下的所有文件路径GetFiles(new DirectoryInfo(@"\\\\192.168.1.107\\Save"), "*.*", ref FindResu...

c#中遍历一个文件夹 并对其子文件夹中的文件移动到一个新创建的文件夹...
代码基本上是这样的,需要修改移动的文件名的话,修改file.MoveTo(Path.Combine(p_2, file.Name));这句就可以了。private void button2_Click(object sender, EventArgs e){ if (!(!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox3.Text))){ MessageBox.Show("没有填写源...

C#遍历指定文件夹中所有文件的3种方法
首先,通过使用Directory类的GetFiles方法,可以轻松完成遍历。只需一行代码,所有文件便一目了然。然而,对于大型文件夹,此方法可能因遍历整个文件夹而性能下降,尤其当文件数量较多时。其次,利用DirectoryInfo类,可以获取更丰富的文件属性。通过FileInfo对象,每个文件的详细信息得以展现。尽管操作过程稍显复杂...

C# 如何实现文件夹,文件查找?
先遍历文件夹,将所有文件夹名称存入字符串数组。string[] filename=Directory.GetFiles(pathtext);\/\/pathtext是父文件夹路径。string findname;\/\/这是你输入的名称。List<string> findfiles;\/\/这是你的结果集。然后循环查找 foreach(string file in filename){ if(file.Indexof(findname) != -1)\/...

C#怎么将一个文件夹下所有文件(包括子文件夹内的)名字中包含某一字符...
递归到一个list表里,求List的count值就好

c#遍历了所有文件夹,怎么样找出相关的和自己需要的文件夹和另一些文件...
用于指定搜索操作是应包含所有子目录还是仅包含当前目录的枚举值之一。foreach (FileInfo f in Dir.GetFiles("C:\\\\","a*.txt", SearchOption.AllDirectories)) \/\/查找文件 { \/\/listBox1.Items.Add(Dir+f.ToString()); \/\/listBox1中填加文件名 list.Add(Dir + @"\\" + f.ToString());} ...

c#问题,求好新人给个思路 用c#统计文件夹下所有文件的代码行数
string FolderPath = AppPath + Server.MapPath("你的文件夹名");\/\/获取文件夹路径 string[] FilesArray = System.IO.Directory.GetFiles(FolderPath,"*");\/\/获取所有文件 foreach (string file in FilesArray) {\/\/遍历文件 try { StreamReader txtRe= new StreamReader(FolderPath + "\\\\" ...

c#实现如何遍历一个文件夹下的所有文件,并用md5函数算出所有文件的md5...
遍历文件夹使用函数System.IO.Directory.GetFiles()如果你想获得包括子文件夹下的所有文件 也有对应的重载 计算md5需要使用System.Security.Cryptography.MD5类 用法如下:MD5 md5 = MD5.Create();FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);byte[] hash ...

C#如何遍历一个文件夹下面所有的文件
allFiles.AddRange(currentDirFiles);\/\/将当前目录文件放到allFiles中 var currentDirSubDirs = di.GetDirectories().ToList();\/\/获取子目录 currentDirSubDirs.ForEach(p => GetAllFiles(p.FullName, allFiles));\/\/将子目录中的文件放入allFiles中 } 用法 List<string> a = new List<string>()...

C# 如何获取指定目录包含的文件和子目录
\/\/fn_文件后缀 如果明确目录的层次结构简单 递归算法也是不错的选择 个人觉得 文件的搜索 应该单独起线程\/\/\/ 采用递归的方式遍历 文件夹和子文件中的所有文件 public void FindFile(string dirPath) \/\/参数dirPath为指定的目录 { \/\/在指定目录及子目录下查找文件 在listBox 中列出子目录及文件 Direc...

相似回答