Search code examples
vb.netfile-iodelete-directory

Delete subfolders and files in vb.net


Is it possible to delete all the subfolders (with content) and files within a folder?

For example:

  • Backup
    • November
      • pic1.jpg
      • pic2.jpg
    • December
    • January
      • pic3.jpg
    • example1.txt
    • example2.txt
    • example3.txt

There is a root folder (Backup). This root folder contains 3 subfolders (with content) and 3 text files. How can I delete the whole content (3 subfolders and 3 files) of the Backup folder without deleting the root folder (Backup) itself?


Solution

  • The Directory class has a Delete method that accepts a parameter that forces the deleting operation recursively on the folder passed

    ' Loop over the subdirectories and remove them with their contents
    For Each d in Directory.GetDirectories("C:\Backup")
        Directory.Delete(d, true)
    Next
    
    ' Finish removing also the files in the root folder
    For Each f In Directory.GetFiles("c:\backup") 
         File.Delete(f) 
    Next 
    

    FROM MSDN Directory.Delete

    Deletes the specified directory and, if indicated, any subdirectories and files in the directory.