Create an array of directory and file information

     DIRECTORY(<cDirSpec>, [<cAttributes>]) --> aDirectory


     <cDirSpec> identifies the drive, directory and file specification
     for the directory search.  Wildcards are allowed in the file
     specification.  If <cDirSpec> is omitted, the default value is *.*.

     <cAttributes> specifies inclusion of files with special attributes
     in the returned information.  <cAttributes> is a string containing one
     or more of the following characters:

     DIRECTORY() Attributes
     Attribute    Meaning
     H            Include hidden files
     S            Include system files
     D            Include directories
     V            Search for the DOS volume label and exclude all other files

     Normal files are always included in the search, unless you specify V.


     DIRECTORY() returns an array of subarrays, with each subarray containing
     information about each file matching <cDirSpec>.  The subarray has the
     following structure:

     DIRECTORY() Subarray Structure
     Position     Metasymbol     Directry.ch
     1            cName          F_NAME
     2            cSize          F_SIZE
     3            dDate          F_DATE
     4            cTime          F_TIME
     5            cAttributes    F_ATTR

     If no files are found matching <cDirSpec> or if <cDirSpec> is an illegal
     path or file specification, DIRECTORY() returns an empty ({}) array.


     DIRECTORY() is an environment function that returns information about
     files in the current or specified directory.  It is similar to ADIR(),
     but returns a single array instead of adding values to a series of
     existing arrays passed by reference.

     Use DIRECTORY() to perform actions on groups of files.  In combination
     with AEVAL(), you can define a block that can be applied to all files
     matching the specified <cDirSpec>.

     The header file, Directry.ch, in the \CLIP53\INCLUDE subdirectory
     contains #defines for the subarray subscripts, so that the references to
     each file subarray are more readable.


     .  This example creates an array of information about files in
        the current directory and then lists the names of the files using
        AEVAL() and QOUT():

        #include "Directry.ch"
        aDirectory := DIRECTORY("*.*", "D")
        AEVAL( aDirectory, {|aFile| QOUT(aFile[F_NAME])} )

 Files   Library is CLIPPER.LIB, header file is Directry.ch.

See Also: AEVAL() CURDIR()


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.