Prints or saves a list of files and/or subdirectories with names matching a specified mask (D.B. Baird).
Options
PRINT = string tokens |
What to print (filenames , subdirectories ); default file |
---|---|
SAVEPATH = string token |
Whether to include the path in FILENAMES (yes , no ); default no |
MASKTYPE = string token |
The type of mask specified by MASK (file , directory ); default file |
Parameters
MASK = texts |
Mask identifying the files that are to be included in the each listing, if no directory path is included, the current working directory is searched; default '*.*' |
---|---|
FILENAMES = texts |
Saves the list of files that match each mask |
SUBDIRECTORIES = texts |
Saves the list of subdirectories that match each mask |
Description
DIRECTORY
obtains lists of files or subdirectories matching a specified template. The file and subdirectory lists can be saved in the texts supplied by the FILENAMES
and SUBDIRECTORIES
parameters respectively. The SAVEPATH
option controls whether the filenames also include the path.
Printed output is controlled by the PRINT
option, with settings:
filenames |
to print the list of files, and |
---|---|
subdirectories |
to print the subdirectories. |
The template is specified in a text with a single value, using the MASK
parameter. It uses the standard conventions of the DOS DIR
command but, for convenience, you can put /
instead of \, as in other Genstat file specifications. So, for example, you can list the files with a suffix .GEN in the folder (or directory) c:\genprog
by putting either
DIRECTORY 'c:\\genprog\\*.gen'
or
DIRECTORY 'c:/genprog/*.gen'
(The doubling of each symbol \within the string is required as usual to tell Genstat that it should not be treated as the continuation symbol.) If no directory is specified in the template (e.g.
MASK='*.gen'
), the current working directory is searched.
If the MASKTYPE
option is set to directory
then the MASK
parameter is interpreted as being a directory, and all the files or subdirectories within this directory are returned. For example the following program prints and saves all the files within the subdirectories of the current working directory
GET [WORKINGDIRECTORY=CDir]
DIRECTORY [PRINT=*;MASKTYPE=directory] CDir; SUBDIRECTORIES=Subs
FOR [INDEX=i] SD=#Subs
CONCAT [NEWTEXT=SDir] CDir,'/',SD
DIRECTORY [MASKTYPE=directory] SDir; FILE=Files[i]
ENDFOR
Options: PRINT
, SAVEPATH
, MASKTYPE
.
Parameters: MASK
, FILENAMES
, SUBDIRECTORIES
.
Method
The file list is obtained by a call to SUSPEND
with a DIR
command.
See also
Directive: SUSPEND
.
Procedure: %CD
.