Удаление каталога в c # - PullRequest
       1

Удаление каталога в c #

0 голосов
/ 23 февраля 2011

Я пытаюсь удалить конкретную директорию из моей временной папки

    try
    {
        string[] files = Directory.GetFiles(path + "uniquePdf\\");

        string[] direct = Directory.GetDirectories(path + "uniquePdf\\");
        foreach (string file in files)
        {
            File.SetAttributes(file, FileAttributes.Normal);
            File.Delete(file);
        }
        Directory.Delete(path);
    }

переменная пути указывает на временную папку, а uniquePdf - это папка, которую я создал внутри. Как удалить эту папку при закрытии приложения? Похоже, что приведенный выше метод вызывает исключение на

Directory.Delete(path);

Мне нужно сделать

Directory.Delete(path + "uniquePdf\\");

Ответы [ 4 ]

3 голосов
/ 23 февраля 2011
  1. Всегда используйте Path.Combine () для создания путей
  2. Удаление при закрытии приложения может быть выполнено, однако, когда приложение завершается, код не запускается, поэтому я советую вам очистить / воссоздатьпапка при запуске приложения.
  3. Да, вам необходимо удалить все файлы.

Пожалуйста, укажите исключение, которое вы получите, чтобы помочь нам помочь вам.

2 голосов
/ 23 февраля 2011

Directory.Delete имеет перегрузку, которая принимает второй параметр, bool recursive. Вы можете использовать: System.IO.Directory.Delete(path + "uniquePdf", true);

0 голосов
/ 23 февраля 2011

Просто выполните Directory.Delete(Path.Combine(path, "uniquePdf"), true);

Как уже говорили другие, используйте функции Path.xxx для работы с путями, не выполняйте конкатенацию строк и не беспокойтесь о колдовстве, таком как конечные косые черты.

0 голосов
/ 23 февраля 2011

Вам следует позвонить

Directory.Delete(Path.Combine(path, "uniquePdf"), true);

Если вы получили исключение, было бы хорошо узнать, какое исключение вы получили.Возможно, у вас все еще есть один из файлов, открытых в папке.Поэтому убедитесь, что вы поместили всю обработку файлов в оператор using() или вы вызвали file.Close() до того, как начали удалять каталог.

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