Saludos jmua:
Te paso una función que borra los archivos mediante mascara (*.*, *.CDX, etc), haz esto antes de borrar tu directorio, en este ejemplo borro los archivos .CDX de la carpeta COBRANZA de mi Sistema:
OJO (Verás que tengo implementado un meter para ver el progreso de borrado según el número de Archivos que existan en el directorio, si gustas lo puedes omitir)
---------------------------------------------------------------------
FUNCTION Borrar() //Esto lo Puedes Omitir, es solo pa darle Look
LOCAL oMeter1, oDlg
bDialogTask := { || BorraCDX(oMeter1) }
DEFINE DIALOG oDlg RESOURCE "OPTIMIZA" Title "Borrando Archivos"
oMeter1 = TProgress():Redefine( 200, oDlg )
ACTIVATE DIALOG oDlg CENTERED ON PAINT EVAL(bDialogTask)
Return nil
--------------------------------------------------
STATIC FUNCTION BorraCDX(oMeter) //Esto es lo que borra los Archivos
LOCAL aIndexFiles := {}
LOCAL aFil := {}
LOCAL nI := 0
//--> En el Directorio de Cobranza
aFil:= DIRECTORY( ( ".\COBRANZA\*.CDX" ) )
AEVAL( aFil, { | uFile | AADD( aIndexFiles, uFile ) } )
oMeter:SetRange(0, LEN(aIndexFiles))
FOR nI:= 1 TO LEN(aIndexFiles)
SYSREFRESH()
FERASE(".\COBRANZA\"+aIndexFiles[nI][1])
oMeter:SETPOS(nI)
NEXT nI
RETURN nil
Una vez eliminado todos los archivos de la carpeta, ya puedes proceder a borrarla con cualquier función que tengas.
Espero te sirva.. Saludos desde Chiapas México
Muy pronto mi portal electronico:
www.sisa.unlugar.com