![[About]](r:\html\rexxabout.gif)
![[Toc]](r:\html\rexxtoc.gif)
0.9b (c) 1995 Peter Childs
Function: SysFileTree
Syntax: rc = SysFileTree(filespec, stem, [options], [tattrib],
[nattrib])
filespec The filespec to search for.
stem The name of the stem variable to place the results.
Note: stem.0 contains the number of files and/or
directories found.
options Any logical combination of the following:
F Search for files only.
D Search for directories only.
B Search for both files and directories. (default)
S Scan subdirectories recursively. (non-default).
T Return time and date fields in the form:
YY/MM/DD/HH/MM
O Only report fully qualified file names. The default
is to report date, time, size, attributes and fully
qualified file name for each file found.
tattrib The target attribute mask used when searching for filespec
matches. Only filespecs which match the mask will be
reported. The default mask is '*****' which means the
Archive, Directory, Hidden, Read-Only, and System bits may
be either set or clear. The attributes in the mask are
positional dependant and in the alphabetical order
'ADHRS'.
Mask Options (Target Mask)
* The specified attribute may be either set or
clear.
+ The specified attribute must be set.
- The specified attribute must be clear.
Examples: (Target Mask)
'***+*' Find all files which have set Read-Only
bits.
'+**+*' Find all files which have set Read-Only and
Archive bits.
'*++**' Find all hidden subdirectories.
'---+-' Find all files which have only the
Read-Only bit set.
nattrib The new attribute mask which will be used to set the
attributes of each filespec found to match the target
mask. The default mask is '*****' which means the
Archive, Directory, Hidden, Read-Only, and System bits
will not be changed. The attributes in the mask are
positional dependant and in the alphabetical order
'ADHRS'.
Mask Options (New Atrribute Mask)
* The specified attribute will not be changed.
+ The specified attribute will be set.
- The specified attribute will be cleared.
Examples: (New Attribute Mask)
'***+*' Set the Read-Only bit on all files.
'-**+*' Set the Read-Only and clear the Archive
bits of each file.
'+*+++' Set all attributes on all files, excluding
directory attribute.
'-----' Clear all attribute on all files.
Note: You cannot set the directory bit
on non-directory filespecs. The attribute
field which is displayed in the stem
variable is that of the current attribute
setting after any changes have been
applied.
Purpose: Finds all files which are equal to the specified filespec, and
places their descriptions (date time size attr filespec) in a
stem variable.
RC: Return Codes
0 Successful.
2 Error. Not enough memory.
Examples:
/****<< Syntax Examples.>>***********************/
/* Find all subdirectories on C: */
call SysFileTree 'c:\*.*', 'file', 'SD'
/* Find all Read-Only files */
call SysFileTree 'c:\*.*', 'file', 'S', '***+*'
/* Clear Archive and Read-Only bits of files which have them set */
call SysFileTree 'c:\*.*', 'file', 'S', '+**+*', '-**-*'
/****<< Sample Code and Output Example.>>********/
/* Code */
call SysFileTree 'c:\os2*.', 'file', 'B'
do i=1 to file.0
say file.i
end
/* Actual Output */
12:15:89 12:00a 4096 A-HRS C:\OS2LDR
12:15:89 12:00a 29477 A-HRS C:\OS2KRNL
5:24:89 4:59p 0 -D--- C:\OS2
Inf-HTML End Run - Successful