.NET 4.x Отказано в доступе по пути при перечислении всех файлов во всех папках на диске С - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Пробую перечислить все файлы во всех папках на диске С. Вот так:
        static void Main( string [] args )
        {
            Console.ForegroundColor = ConsoleColor.Green;
            WindowsIdentity wi = WindowsIdentity.GetCurrent();          
            DirectoryInfo dir = new DirectoryInfo( "C:\\" );
            DirectoryInfo [] dir2 = dir.GetDirectories();
            foreach ( var t in dir2 )
            {
                Console.WriteLine( "==============================" );
                Console.WriteLine( t.FullName );
                Console.WriteLine();
                FileInfo [] file = t.GetFiles();
                foreach ( var y in file )
                {
                    Console.WriteLine( y.FullName );
                }
                Console.WriteLine( "==============================" );
            }
            Console.ReadKey();
        }
И выскакивает исключение Отказано в доступе по пути "C:\Documents and Settings". Почему выскакиевает почти понятно, ну почти) Как решить данную проблему????

Решение задачи: «.NET 4.x Отказано в доступе по пути при перечислении всех файлов во всех папках на диске С»

textual
Листинг программы
static void Main(string[] args)
{
    Console.ForegroundColor = ConsoleColor.Green;
    DirectoryInfo dir = new DirectoryInfo("C:\\");
    PrintFiles(dir);
    Console.ReadKey();
}
static void PrintFiles(DirectoryInfo dir)
{
        foreach (var file in dir.GetFileSystemInfos())
            Console.WriteLine(file.FullName);
        foreach (var path in dir.GetDirectories()
            .Where(d => !d.Attributes.HasFlag(FileAttributes.NotContentIndexed)))
            PrintFiles(path);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы