c#搜索C盘下所有文件及文件夹内TXT格式文件
1个回答
展开全部
/// <summary>
/// 遍历指定目录下的文件
/// </summary>
/// <param name="path">要遍历的路径</param>
/// <param name="currentPathOnly">是否只遍历当前目录(不处理子目录),默认为false(处理子目录)</param>
/// <returns>所有文件列表</returns>
public static List<string> EnumFile(string path, string pattern, bool currentPathOnly = false)
{
List<string> files = new List<string>();
// 检查目录是否存在
if (!Directory.Exists(path))
{
return files;
}
FileSystemInfo[] fs = new DirectoryInfo(path).GetFileSystemInfos();
foreach (FileSystemInfo fsi in fs)
{
// 跳过缩略图目录
if (fsi.Name.Equals("thumb"))
{
continue;
}
if (fsi.Attributes == (FileAttributes.Hidden | FileAttributes.System))
{ // 跳过系统和隐藏
continue;
}
if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
{ // 目录
files.AddRange(EnumFile(fsi.FullName, pattern, false));
continue;
}
// 文件
if (!string.IsNullOrEmpty(pattern) && !pattern.ToUpper().Contains(fsi.Extension.ToUpper()))
{ // 筛选指定的文件类型
continue;
}
files.Add(fsi.FullName);
}
return files;
}
// 调用
List<string> files = EnumFile("C:\\", ".txt");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询