C#无法在c:\驱动器上搜索.txt文件

时间:2016-12-27 20:38:29

标签: c# .net

我想在我的系统上显示所有.txt文件。但是当我执行我的代码时,我只能在可移动磁盘驱动器(USB-Stick)上显示.txt文件。

我该如何解决这个问题?

感谢您的帮助:D

这是我的代码:

static List<string> Search()
{
    var files = new List<string>();

    foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady))
    {
        try
        {
            files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "*.txt", SearchOption.AllDirectories));
            Console.Write(string.Join(System.Environment.NewLine, files));
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

    return files;
}

我的控制台输出:

The access to the path "C: \$ Recycling. Bin\S-1-5-18" was refused.
D:\Test\Test1.txt
D:\Test\Test2.txt
...
D:\PortableApps\EclipsePortable\Other\Source\Readme.txtSystem.Collections.Generic.List`1[System.String]

我根本没有收到任何错误消息。

1 个答案:

答案 0 :(得分:0)

由于安全原因,似乎GetFiles函数无法访问某些文件系统。请参考此解决方案: Access to all file in C drive