2010-02-11 256 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) 
相關問題