FoxPro/Visual FoxPro - BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

 
Vista:

BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por Juan (230 intervenciones) el 01/12/2008 18:19:10
Alguien sabe como se hace desde Visual FoxPro para borrar un directorio y todo su contenido sin que te pregunte antes?.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por Plinio (7844 intervenciones) el 01/12/2008 22:47:43
Ver en la ayuda
DELETE FILES
RMDIR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por José Luis Guillén Morales (28 intervenciones) el 02/12/2008 14:58:29
Hola Juan como estas compañero. Ya solucionaste lo que quieres hacer ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por Juan (230 intervenciones) el 02/12/2008 15:10:13
Hola, pues lo solucione de momento como me dijo Plinio, pero de esa forma si tengo mas subdirectorios es un coñazo, a ver si tu me puedes decir de otra forma mediante la API de windows o de otra forma.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por José Luis Guillén Morales (28 intervenciones) el 02/12/2008 16:29:53
Eliminar directorio y subdirectorios con todos sus contenidos
------------------------------------------------------------------------------------

Una solución efectiva, utilizando recursividad y funciones del API de Windows. Cortesía de Çetin Basöz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Set Date Dmy
Local ldFolder,lcBaseFolder,ix
Local Array aFolders[1]
lcBaseFolder = 'e:Backup'
APIDeclarations()
 
For ix=1 To Adir(aFolders,Addbs(m.lcBaseFolder)+'*',"DRHS")
  ldFolder = Ctod(Transform(aFolders[m.ix,1], @R 99/99/9999'))
  If !Empty(m.ldFolder) And m.ldFolder < Date()-1
      RemoveFolder(Addbs(m.lcBaseFolder)+aFolders[m.ix,1])
  Endif
Endfor
 
Function RemoveFolder(m.tcPath)
  GetSubdirs(m.tcPath,'DirList')
  Select Dirlist
  Local Array laFolders[Reccount()]
  Scan
         laFolders[Recno()] = dirname
  Endscan
 
  Use In 'DirList'
  Asort(laFolders,1,-1,1,1)
  For jx=1 To Alen(laFolders)
        RemoveSubFolder(laFolders[m.jx])
  Endfor
Endfunc
 
Function GetSubdirs
  Lparameters tcPath,tcCursorName
  Local ix
  Local Array laDirs[1]
  If !Used(m.tcCursorName)
      Create Cursor (m.tcCursorName) (dirname m)
  Endif
 
  Insert Into (m.tcCursorName) Values (Upper(m.tcPath))
 
  For ix = 1 To Adir(laDirs,Addbs(m.tcPath)+"*.*","DRHS")
         If laDirs[ix,1]#"." And "D"$laDirs[ix,5]
            GetSubdirs(Addbs(m.tcPath)+laDirs[ix,1],m.tcCursorName)
         Endif
  Endfor
Endfunc
 
Function RemoveSubFolder(tcPath)
  Local Array laFiles[1]
  Local ix
  For ix=1 To Adir(laFiles,Addbs(m.tcPath)+'*.*','HRS')
        setAttribs(Addbs(m.tcPath)+laFiles[m.ix,1])
  Endfor
  setAttribs(Addbs(m.tcPath))
  Erase (Addbs(m.tcPath)+'*.*')
  Rmdir (m.tcPath)
Endfunc
 
Function APIDeclarations
  Declare Integer SetFileAttributes In Win32API ;
    string @ lpFileName,  Integer dwFileAttributes
  Declare Integer GetFileAttributes In Win32API ;
    string @ lpFileName
Endfunc
 
Function setAttribs
  Lparameters tcFileName, tlReadOnly, tlHidden, tlSystem
  #Define FILE_ATTRIBUTE_READONLY    0x00000001
  #Define FILE_ATTRIBUTE_HIDDEN      0x00000002
  #Define FILE_ATTRIBUTE_SYSTEM      0x00000004
 Local lnNewAttr  lnNewAttr = Iif(m.tlReadOnly,FILE_ATTRIBUTE_READONLY,0)+;
    iif(m.tlHidden,FILE_ATTRIBUTE_HIDDEN,0)+;
    iif(m.tlSystem,FILE_ATTRIBUTE_SYSTEM,0)
  Return ( SetFileAttributes(@tcFileName, ;
    bitor(Bitand(GetFileAttributes(@tcFileName),0xFFFFFFF8),lnNewAttr)) = 1)
Endfunc
Çetin Basöz
MS Foxpro MVP, MCP
Welcome to FoxyClasses
Türkçe bir Foxpro sitesi Fox4um

Avisas si te sirvio
Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por Jairo (1 intervención) el 26/02/2020 17:41:32
Porque escriben cosas tan enredadas, hay rutinas mucho más sencillas y de fácil aplicación
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ernesto
Val: 21
Ha disminuido su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

BORRAR UN DIRECTORIO Y TODO SU CONTENIDO

Publicado por Ernesto (3 intervenciones) el 27/02/2020 02:05:21
1
2
3
4
x = CreateObject("Scripting.FileSystemObject")
If x.FolderExists("Datos")
   x.DeleteFolder("Datos")
EndIf

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar