2010-02-11 201 views
14

我有一个非常快速的问题。我的程序实际上下载一个zip文件,然后将其提取到他们的桌面上但我需要一个卸载功能,它基本上是删除多个文件夹和包含文件。我如何在vb.net中做到这一点?删除文件夹和包含文件

回答

35

如果您的所有文件夹都包含在一个文件夹中,它应该非常简单。

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

这将删除您的根目录以及其下的所有目录和文件。如果您的文件和目录不是像例子中的“YOURPATH”那样位于单个根目录中,您可以多次调用这个文件。这将免除您必须单独删除每个文件。

+4

+1 - 因为从来没删除的目录,我没想到的目录对象中寻找删除方法。这个答案比我的好。 – 2010-02-11 03:48:00

3

的.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循环中删除它们。然后,对GetDirectories()命令的结果递归地运行一个foreach循环。

更新:Steve Danner指出System.IO.Directory命名空间有一个Delete方法,因此您不需要经过我在此讨论的循环。 他的回答是正确的,应该投票表决。在这一点上,矿井更像是一种好奇心(尽管感谢给我一个赞成的人; 0)。

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

加入一点描述会让你的答案更有趣味 – 2012-11-16 13:04:28

-1

您正在寻找DirectoryInfo中,使用这样的:

Dim di As New IO.DirectoryInfo(path) 
di.Delete(True) 
相关问题