---
url: /statelake/scripting-reference/data-types/enumerations/fileattribute.md
---

# FileAttribute

These values are used as input to the **NewFileSearch** function.

The **NewFileSearch** function uses the following attribute keywords to find values that match the file attribute specified.

To filter on specific file types, these values may be combined. Use **Or** together with individual flags to include files with those attributes, or use **XOR** flags with **faAnyFile** to exclude files with those flags, such as the following code illustrates.

```pascal
//Will find any file in the PATH specified, with the SPEC specified
NewFileSearch(PATH, SPEC, faAnyFile)

//Will find read-only directories
NewFileSearch(PATH, SPEC, faReadOnly OR faDirectory)

//Will find all files except for directories and read-only files
NewFileSearch(PATH, SPEC, faAnyFile XOR (faDirectory OR faReadOnly))
```

For more information, please see the [NewFileSearch](/statelake/scripting-reference/functions-and-procedures/file-functions/newfilesearch)function .

## Keywords

faReadOnly = $00000001 Searches for read-only files

faHidden = $00000002 Searches for hidden files

faSysFile = $00000004 Searches for system files

faDirectory = $00000010 Searches for directories

faArchive = $00000020 Searches for files with the archive bit set

faSymLink = $00000040 Searches for symbolic links

faAnyFile = $0000003F Searches for any/all of the above
