Удалить папки и содержащие файлы

У меня очень быстрый вопрос. Моя программа фактически загружает zip-файл, а затем извлекает его на рабочий стол. Но мне нужна функция удаления для него, которая в основном удаляет несколько папок и содержащих файлы. Как я могу сделать это в vb.net?


person lab12    schedule 11.02.2010    source источник


Ответы (4)


Если все ваши папки содержатся в одной папке, это должно быть довольно просто.

Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\YOURPATH"
System.IO.Directory.Delete(path, True)

Это удалит ваш корневой каталог и все каталоги и файлы под ним. Вы можете просто вызвать это несколько раз, если ваши файлы и каталоги не находятся в одном корневом каталоге, таком как «ВАШ ПУТЬ» в примере. Это избавит вас от необходимости удалять каждый файл по отдельности.

person Steve Danner    schedule 11.02.2010
comment
+1 - Никогда не удаляя каталог, я не думал искать в объекте каталога метод Delete. Этот ответ лучше моего. - person Mark Brittingham; 11.02.2010

Модуль .NET IO имеет две команды, которые должны помочь вам добиться цели:

System.IO.Directory.GetDirectories("C:\\Program Files\\Your Directory\\*.*");
System.IO.Directory.GetFiles("C:\\Program Files\\Your Directory\\*.*");

Я бы написал метод, который берет имя каталога и использует процедуру GetFiles для получения всех файлов и их удаления с помощью System.IO.File.Delete(path) в цикле foreach. Затем запустите цикл foreach для результата команды GetDirectories(), рекурсивно вызывающей функцию.

Обновление: Стив Дэннер указывает, что пространство имен System.IO.Directory имеет метод Delete, поэтому вам не нужно проходить циклы, о которых я здесь говорю. Его ответ правильный, и за него следует проголосовать. Мой, на данный момент, больше любопытен (хотя спасибо человеку, который проголосовал за меня ;0).

person Mark Brittingham    schedule 11.02.2010

Вы ищете DirectoryInfo, используйте его следующим образом:

Dim di As New IO.DirectoryInfo(path)
di.Delete(True)
person MarianoC    schedule 11.09.2016

person    schedule
comment
добавление небольшого описания сделает ваши ответы более вкусными - person Renjith K N; 16.11.2012