*Example directory structure delete
*Created a directory c:\tracy for testing purposes
*C:\tracy has 2 subfolders and each subfolder has
*2 files for testing purposes
SET SAFETY OFF
IF FILE('dirlist.dbf')
DELETE FILE ('dirlist.dbf')
ENDIF
* Pass the name of the directory you wish to delete
*all of its files and subdirectories
DO getdirs WITH "C:\tracy"
IF USED('dirlist')
SELE dirlist
GO TOP
SCAN
IF ADIR(gaFiles, dirlist.dirname+'*.*')>0
FOR i = 1 TO ALEN(gaFiles,1)
IF FILE(dirlist.dirname+gaFiles(i,1))
DELE FILE (dirlist.dirname+gaFiles(i,1))
ENDIF
ENDFOR
ENDIF
ENDSCAN
FOR i = RECCOUNT() TO 1 STEP -1
GOTO i
IF DIRECTORY(dirlist.dirname)
lcommand="RMDIR "+dirlist.dirname
&lcommand
ENDIF
ENDFOR
ENDIF
IF USED('dirlist')
USE IN dirlist
ENDIF
RETURN
PROCEDURE getdirs
LPARAMETERS tcPath
IF UPPER(TYPE('tcpath'))="L"
tcPath="c:\"
ENDIF
CREATE CURSOR dirlist (dirname m)
GetSubDirs(tcPath)
RETURN
FUNCTION GetSubDirs
LPARAMETERS tcPath
LOCAL lcCurDir, lnSubDirs, ix
LOCAL ARRAY laDirs[1]
lcCurDir = ADDBS(tcPath)
INSERT INTO dirlist VALUES (lcCurDir)
lnSubDirs=ADIR(laDirs,lcCurDir+"*.*","D"

FOR ix = 1 TO lnSubDirs
IF laDirs[ix,1]#"." AND "D"$laDirs[ix,5]
=GetSubDirs(lcCurDir+laDirs[ix,1])
ENDIF
ENDFOR
RETURN