c#搜索C盘下所有文件及文件夹内TXT格式文件

 我来答
hyjiacan
推荐于2016-12-03 · TA获得超过3912个赞
知道小有建树答主
回答量:894
采纳率:100%
帮助的人:1094万
展开全部
/// <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");
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式