VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Deleting Directory with all the Subdirectories

by Vlad Azarkhin (1 Submission)
Category: Files/File Controls/Input/Output
Compatability: Visual Basic 3.0
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (4 Votes)

Delete a folder, with all it's subdirectories.

Inputs
The folder name, for example: "c:\My documents\stuff" will delete the "stuff" folder.
Assumes
Simple recursion.
Side Effects
System and hidden files will not be deleted, so the directory won't be deleted either. However You cen rewrite the function a little to work with hidden file.

Rate Deleting Directory with all the Subdirectories

Public Sub CleanAllPath(sPath As String)
Dim sName As String
Dim sFullName As String
' Array used for holding the directories,
' however collection may be used as well
Dim Dirs() As String
Dim DirsNo As Integer
Dim i As Integer
 If Not Right(sPath, 1) = "\" Then
 sPath = sPath & "\"
 End If
 ' clean all files in the directory
 sName = Dir(sPath & "*.*")
 While Len(sName) > 0
 sFullName = sPath & sName
 SetAttr sFullName, vbNormal
 Kill sFullName
 sName = Dir
 Wend
 
 sName = Dir(sPath & "*.*", vbHidden)
 While Len(sName) > 0
 sFullName = sPath & sName
 SetAttr sFullName, vbNormal
 Kill sFullName
 sName = Dir
 Wend
 
 ' read all the directories into array
 DirsNo = 0
 sName = Dir(sPath, vbDirectory)
 While Len(sName) > 0
 If sName <> "." And sName <> ".." Then
  DirsNo = DirsNo + 1
  ReDim Preserve Dirs(DirsNo) As String
  Dirs(DirsNo - 1) = sName
 End If
 sName = Dir
 Wend
 For i = 0 To DirsNo - 1
 CleanAllPath (sPath & Dirs(i) & "\")
 RmDir sPath & Dirs(i)
 Next
  
End Sub

Download this snippet    Add to My Saved Code

Deleting Directory with all the Subdirectories Comments

No comments have been posted about Deleting Directory with all the Subdirectories. Why not be the first to post a comment about Deleting Directory with all the Subdirectories.

Post your comment

Subject:
Message:
0/1000 characters