Удалить файлы в папку c# - PullRequest
0 голосов
/ 04 мая 2020

У меня очень любопытная проблема.

Я удаляю файлы в папки, это алгоритм

            System.IO.DirectoryInfo di = new DirectoryInfo(folderPath);

            foreach (FileInfo file in di.GetFiles())
            {
                file.Delete();
            }
            foreach (DirectoryInfo dir in di.GetDirectories())
            {
                dir.Delete(true);
            }

Я выбираю каталог, а алгоритм удаляет: папки, подпапки и все, что с ними связано без проблем.

Проблема возникает, когда я загружаю сжатый файл с папками и подпапками (важно отметить, что данные в сжатом файле - это то, что я должен удалить).

и программное обеспечение сообщает об ошибке: доступ запрещен

Правда в том, что я не понимаю, файлы этого сжатого (.zip), в частности, некоторые папки этого сжатого файла, являются теми, которые не позволяют мне delete.

В алгоритме чего-то не хватает, что позволяет удалять?

1 Ответ

1 голос
/ 04 мая 2020

Сначала, чтобы рекурсивно удалить папку со всеми файлами и подпапками, достаточно просто позвонить Directory.Delete(folderPath, true). Как описано в документации , вы можете иметь UnauthorizedAccessException, если файл или папка защищены. Одно из решений, которое вы можете сделать, - это запустить приложение с правами администратора, как описано в ответе { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...