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