如何删除文件夹中的所有文件,包括子文件夹中的文件,而不删除文件夹本身或其任何子文件夹

时间:2014-08-09 17:23:24

标签: vb.net

我想删除文件夹中包含的所有文件。我正在使用的代码删除根文件夹中的所有文件,但它不会删除子文件夹中的文件。这是代码:

If Not Directory.Exists("C:\New Folder") Then
   Return
End If

Dim files() As String
files = Directory.GetFileSystemEntries("C:\New Folder")

For Each element As String In files
   If (Not Directory.Exists(element)) Then
      File.Delete(Path.Combine("C:\New Folder", Path.GetFileName(element)))
   End If
Next

我想要的是:

  

我想删除文件夹“New Folder”中的所有文件。在   同时,我想保留子文件夹并删除它的所有文件   包含的内容。因此,在操作之后,“新文件夹”可以具有任意数量   子文件夹,但它不应该只有一个文件。

1 个答案:

答案 0 :(得分:4)

试试这个递归子

 Sub DeleteFilesFromFolder(Folder As String)
    If Directory.Exists(Folder) Then
        For Each _file As String In Directory.GetFiles(Folder)
            File.Delete(_file)
        Next
        For Each _folder As String In Directory.GetDirectories(Folder)

            DeleteFilesFromFolder(_folder)
        Next

    End If

End Sub

'Somewhere you call

DeleteFilesFromFolder("C:\New Folder")