Deltree (2)




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

Inputs:
The folder name, for example:
c:\My documents\stuff" will delete the "stuff" folder.

Returns:
none

Assumes:
Simple recursion.

Side Effects:
System and hidden files will not be deleted,
so the directory wont be deleted either.
However You cen rewrite the function a little
to work with hidden file.










( deltree2.html )- by Paolo Puglisi - Modifica del 17/12/2023