DeepuVerma Ответов: 2

удалить доступ к каталогу запрещен c#


Привет,

Я хочу удалить каталог и весь файл из каталога, так что для этого я написал код, чтобы сначала я удаляю файл из каталога, а затем каталог, но он дает ошибку "Доступ к пути 'D:\\Deepu\\Verma\\DirectoryFolder-отрицается."
и мой код таков

if (System.IO.Directory.Exists(path))
{
foreach (var item in System.IO.Directory.GetFiles(path))
{
System.IO.File.Delete(path);
}
System.IO.Directory.Delete(path);
}


Пожалуйста, дайте мне сейчас решение.

Sinisa Hajnal

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

2 Ответов

Рейтинг:
9

OriginalGriff

Вероятно, у вас нет прав на удаление папки.
Либо создайте его с полными разрешениями для всех пользователей, либо измените разрешения на родительскую папку и примените ко всем подкаталогам.

Помните, что ваше приложение может работать не от имени того же пользователя, что и вы: поэтому разрешения, применяемые к папке, могут быть не такими, как при открытии Проводника Windows.


Matt T Heffron

Это было самое очевидное решение, учитывая сообщение об ошибке.
Однако мы оба пропустили очевидную ошибку в коде! :до:
(Я тоже скучал. Я просто не дал того же решения, что и ты.)

Рейтинг:
0

DeepuVerma

Спасибо, что помогли мне, теперь все работает нормально. Там было мало изменений в коде и обновление кода есть:

if (System.IO.Directory.Exists(path))
{
    foreach (var item in System.IO.Directory.GetFiles(path))
    {
        System.IO.File.Delete(item);
    }
    System.IO.Directory.Delete(path);
}