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