У меня очень быстрый вопрос. Моя программа фактически загружает zip-файл, а затем извлекает его на рабочий стол. Но мне нужна функция удаления для него, которая в основном удаляет несколько папок и содержащих файлы. Как я могу сделать это в vb.net?
Удалить папки и содержащие файлы
Ответы (4)
Если все ваши папки содержатся в одной папке, это должно быть довольно просто.
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\YOURPATH"
System.IO.Directory.Delete(path, True)
Это удалит ваш корневой каталог и все каталоги и файлы под ним. Вы можете просто вызвать это несколько раз, если ваши файлы и каталоги не находятся в одном корневом каталоге, таком как «ВАШ ПУТЬ» в примере. Это избавит вас от необходимости удалять каждый файл по отдельности.
Модуль .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).
Вы ищете DirectoryInfo, используйте его следующим образом:
Dim di As New IO.DirectoryInfo(path)
di.Delete(True)