DIRECTORY( )
Crea una matriz de información de directorios y de ficheros
Sintaxis
DIRECTORY(, []) –> aDirectorio
Argumentos
identifica la unidad, el directorio y el fichero para la búsqueda en el directorio. Se permiten caracteres comodín en la especificación de fichero. Si se omite , el valor por defecto es *.*.
incluye en la información devuelta los ficheros que tengan los atributos especificados. es una cadena, que contiene uno o más de los caracteres siguientes:
Atributos DIRECTORY()
————————————————————————
Atributo Significado
————————————————————————
H Incluir ficheros ocultos
S Incluir ficheros del sistema
D Incluir directorios
V Buscar la etiqueta de volumen del DOS y excluir el resto de
los ficheros
————————————————————————
Los ficheros normales siempre se incluyen en la búsqueda, a menos que especifique V.
Devuelve
DIRECTORY() devuelve una matriz de submatrices, cada una conteniendo información de cada fichero que cumpla la . La submatriz tiene la estructura siguiente:
Estructura de Submatriz DIRECTORY()
————————————————————————
Posición Metasímbolo Directry.ch
————————————————————————
1 cNombre F_NAME
2 cTamaño F_SIZE
3 fFecha F_DATE
4 cHora F_TIME
5 cAtributos F_ATT
————————————————————————
Si no se encuentran ficheros que coincidan con o si es una vía o una especificación de fichero ilegal, DIRECTORY() devuelve una matriz vacía ({}).
Descripción
DIRECTORY() es una función de entorno que devuelve información sobre los ficheros en el directorio actual o en el directorio especificado. Es similar a ADIR(), pero devuelve una sola matriz en lugar de añadir valores a una serie de matrices existentes pasadas por referencia.
Utilice DIRECTORY() para ejecutar acciones en grupos de ficheros. En combinación con AEVAL(), puede definir un bloque que puede aplicarse a todos los ficheros que cumplan la especificada.
El fichero de cabecera, Directry.ch, situado en el subdirectorio \DPXBASE5\INCLUDE contiene #defines para los subíndices de submatriz, a fin de mejorar la legibilidad de referencias a cada submatriz.
Ejemplos
¦ Este ejemplo crea una matriz de información sobre ficheros en el directorio actual y después se listan los nombres de los ficheros utilizando AEVAL() y QOUT():
#include “Directry.ch”
//
aDirectorio := DIRECTORY(“*.*”, “D”)
AEVAL( aDirectorio, {aFichero QOUT(aFichero[F_NAME])} )
Ficheros: La biblioteca asociada es DPXBASE.CH, el fichero de cabecera es Directry.ch.