Obtener fecha de creación de un folder (carpeta, directorio)

288 views
Skip to first unread message

EdgarGt

unread,
May 20, 2015, 4:56:23 AM5/20/15
to publice...@googlegroups.com
Saludos expertos:

Si tengo un folder (carpeta, directorio) como por ejemplo:  C:\BACKUP  ¿Como puedo obtener la fecha de creación de la misma ?  (Uso VFP 9).

Gracias por su atención a mi consulta,   


Edgar Acevedo.

Edgar Acevedo

unread,
May 20, 2015, 5:15:32 AM5/20/15
to publicesvfoxpro
Una persona de otro foro me respondió.  
Les copio la respuesta funcional y comprobada que esta persona me dio por si le fuera de utilidad a alguien.

oFys = CreateObject("Scripting.FileSystemObject")
oFolder = oFys.GetFolder("C:\BACKUP")
? oFolder.DateCreated

Saludos,  Edgar Acevedo.

Edgar Acevedo

unread,
May 20, 2015, 5:24:35 AM5/20/15
to publicesvfoxpro
También se me indicó que esta función pueden obtener también fechas muy útiles e interesantes de un archivo (como de un DBF por ejemplo):

oFys = CreateObject("Scripting.FileSystemObject")
oFile = oFys.GetFile("C:\SISTEMA\CLIENTES.DBF")
ltCreated = oFile.DateCreated
ltAccessed = oFile.DateLastAccessed
ltModified = oFile.DateLastModified

Saludos,  Edgar Acevedo.

Fernando D. Bozzo

unread,
May 20, 2015, 1:07:42 PM5/20/15
to publice...@googlegroups.com, aper...@gmail.com
Hola Edgar:

Creo que te estás olvidando de ADIR()


Saludos.-

Fernando D. Bozzo

unread,
May 20, 2015, 1:09:42 PM5/20/15
to publice...@googlegroups.com, fdb...@gmail.com, aper...@gmail.com
Mejor aclaro: con ADIR() tenés la fecha de modificación, no la de creación.

Con el método que te dijeron podés obtener bastantes datos más, incluyendo la fecha de creación y de último acceso.


Saludos.-

EdgarGt

unread,
May 20, 2015, 3:01:34 PM5/20/15
to publice...@googlegroups.com, fdb...@gmail.com, aper...@gmail.com
Asi es Fernando, el ADIR() no me daba toda la información deseada, mientras que el método que me dieron si lo hace.

Convirtiendo en algo funcional los tips que me compartieron, las funciones quedarían de esta manera:

? FechaDir("C:\WINDOWS", "C")             && Obtener la fecha de creación del directorio C:\WINDOWS
? FechaFile("C:\WINDOWS\WRITE.EXE", "C")  && Obtener la fecha de creación del archivo C:\WINDOWS\WRITE.EXE

FUNCTION FechaDir
* Obtener fecha de creación, acceso o modificación de un directorio
* Devuelve la fecha en un STRING
* Los parámetros son:
*  - C = Fecha de Creación
*  - A = Fecha de último acceso
*  - M = Fecha de última modificación
   PARAMETERS M.NomDir, M.TipFecha
   IF TYPE("M.TipFecha") # 'C'
      M.TipFecha = "C"
   ELSE
      M.TipFecha = UPPER(M.TipFecha)
   ENDIF
   IF DIRECTORY(M.NomDir)
      oFys = CreateObject("Scripting.FileSystemObject")
      oDir = oFys.GetFolder(M.NomDir)
      DO CASE
         CASE M.TipFecha = "A"
            M.RetVal = DTOC(TTOD(oDir.DateLastAccessed))
         CASE M.TipFecha = "M"
            M.RetVal = DTOC(TTOD(oDir.DateLastModified))
         OTHERWISE
            M.RetVal = DTOC(TTOD(oDir.DateCreated))
      ENDCASE
      RELEASE oFsys, oDir
   ELSE
      M.RetVal = ""
   ENDIF
RETURN M.RetVal

FUNCTION FechaFile
* Obtener fecha de creación, acceso o modificación de un archivo
* Devuelve la fecha en un STRING
* Los parámetros son:
*  - C = Fecha de Creación
*  - A = Fecha de último acceso
*  - M = Fecha de última modificación
   PARAMETERS M.NomFile, M.TipFecha
   IF TYPE("M.TipFecha") # 'C'
      M.TipFecha = "C"
   ELSE
      M.TipFecha = UPPER(M.TipFecha)
   ENDIF
   IF FILE(M.NomFile)
      oFys = CreateObject("Scripting.FileSystemObject")
      oFile = oFys.GetFile(M.NomFile)
      DO CASE
         CASE M.TipFecha = "A"
            M.RetVal = DTOC(TTOD(oFile.DateLastAccessed))
         CASE M.TipFecha = "M"
            M.RetVal = DTOC(TTOD(oFile.DateLastModified))
         OTHERWISE
            M.RetVal = DTOC(TTOD(oFile.DateCreated))
      ENDCASE
      RELEASE oFsys, oFile
   ELSE
      M.RetVal = ""
   ENDIF
RETURN M.RetVal


Alejandro Garcia G.

unread,
May 21, 2015, 11:59:52 AM5/21/15
to publice...@googlegroups.com, aper...@gmail.com, fdb...@gmail.com
Buen dato, gracias por compartirlo. Saludos.

Ariel Lopez

unread,
Nov 24, 2020, 8:50:37 AM11/24/20
to Comunidad de Visual Foxpro en Español
Despues de años de haber sido publicado aun sigue ayudando...
Esta vez me ha tocado a mi, necesitaba obtener la fecha y hora de creacion y ultima modificacion de un archivos EXE... con esto pude cubrir mi necesidad.
Solo una pequeñisima observación: No existe " oFsys" al cual hace refecencia "RELEASE" en todo caso; lo correcto sería "RELEASE oFys". MUY BUEN APORTE colega "apersognt".
Saludos
Reply all
Reply to author
Forward
0 new messages