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

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

16
задан Brian Tompsett - 汤莱恩 6 July 2015 в 11:38
поделиться

2 ответа

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

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

Это удалит ваш корневой каталог, а также все каталоги и файлы под ним. Если ваши файлы и каталоги не находятся в одном корневом каталоге, как в примере "YOURPATH", вы можете выполнить эту процедуру несколько раз. Это избавит вас от необходимости удалять каждый файл по отдельности.

37
ответ дан 30 November 2019 в 16:42
поделиться

В модуле ввода-вывода .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).

3
ответ дан 30 November 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: