Code: Select all
;/ Only delete the directory is it is empty
Procedure DeleteDirectorySafely(Path.s)
Protected PathID
Protected Result
Protected EntryName.s
Protected PathNotEmpty
Protected i
If Not FileSize(Path.s)=-2
ProcedureReturn #False
EndIf
PathID=ExamineDirectory(#PB_Any,Path.s,"")
If PathID
For i=1 To 3
Result=NextDirectoryEntry(PathID)
EntryName.s=DirectoryEntryName(PathID)
If Result And EntryName.s<>"." And EntryName.s<>".."
PathNotEmpty=#True
EndIf
Next i
If Not PathNotEmpty
FinishDirectory(PathID)
Result=DeleteDirectory(Path.s,"")
ProcedureReturn Result
EndIf
FinishDirectory(PathID)
EndIf
ProcedureReturn #False
EndProcedure