Utilizando las funciones ADIR y ERASE en Visual FoxPro se puede implementar rutinas powerful para administrar archivos y directorios.
Por ejemplo, el código muestra cómo obtener una lista de los archivos PDF en un directorio y luego borrar selectivamente algunos archivos según cierta condición. Primero se limpia la variable aFiles con CLEAR y se define la ruta del directorio a escanear en cDir.
Luego la función ADIR se encarga de llenar la variable aFiles con la lista completa de archivos y subdirectorios en ese path. El tercer parámetro "D" indica que sólo nos interesan archivos y no subcarpetas. aFiles queda como una matriz bidimensional con el nombre de cada archivo PDF.
Después se itera sobre cada elemento de aFiles con un bucle FOR de 1 a nTotF, siendo éste el número total de archivos encontrados. Dentro del loop se construye la ruta completa de cada archivo combinando cDir + nombre y se almacena en cFullPath.
Aquí es donde entra en acción ERASE, borrando el archivo si su nombre es distinto a "BARRAS2.PDF". La ventana WAIT sirve para ir mostrando cada borrado.
De esta manera, en muy pocas líneas de código se logra escanear un directorio, identificar archivos según un patrón y luego ejecutar acciones sobre ellos como borrar. Esto sería mucho más laborioso sin funciones como ADIR y ERASE.
VFP incluye muchas otras funciones para trabajar con archivos y carpetas, como FILETOSTR(), STRTOFILE(), FCREATE(), DIRECTORY(), ANAME(), ASIZE(), ADATE(), etc. Que combinadas creativamente permiten automatizar tareas de gestión de archivos en Windows de manera rápida y potente.
CLEAR
cDir = "c:\SIGEM\pdf\"
nTotF = ADIR(aFiles, cDir + "\*.pdf", "D")
For i = 1 To nTotF
cFullPath = cDir + aFiles[i,1]
IF aFiles[i,1] <> "BARRAS2.PDF"
ERASE (cFullPath)
WAIT WINDOW "BORRANDO "+aFiles[i,1] AT 14,55 TIMEOUT 0.1
ENDIF
Next
0 comentarios:
Publicar un comentario