Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

Files.ListRecursive

Queries list of paths in folder.

Component Version macOS Windows Linux Server iOS SDK
Files 4.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Files.ListRecursive"; Path { ; Filter; TimeOut; ExtensionFilter } )   More

Parameters

Parameter Description Example Flags
Path Native path to the directory. "C:\Test\"
Filter Optional, limits what is returned. Default is 0 to report all files.

Pass a combination of the following values:
1 for showing only files,
2 for showing only directories and
4 for showing only visible files.
16 to include package file content on Mac.
32 to treat packages as files.
64 to not list content of invisible directories.
128 to use the extension filter text and do a substring match on the file name.
5 Optional
TimeOut the timeout in seconds. Default is 5. 5.0 Optional
ExtensionFilter Optional, a filter for getting only files with matching file extension.
Since version 16.1 this can be a list.
".txt¶.rtf" Optional

Added in version 15.2.

Result

Returns list of files separated by return.

Description

Queries list of paths in folder.
This function is recursive and will look in all subfolders. Due to very large file systems you can pass a timeout. Default is 5 seconds. FileMaker will not respond to user input while the query runs.
The list of names is separated by new line character.
This function needs a native path. Please use Path.FileMakerPathToNativePath function in order to convert a FileMaker style path to a native path.
You can decide on Mac on whether files inside a package (e.g. application) are listed or not. By default we ignore those files, but you can include package content with adding 16 to the filter parameter.

See also Files.List.

If input path ends with / on Windows, we use slash for adding path components in v8.4 or newer. Otherwise we use the default on Windows, which is a backslash.

You can filter by file extensions when doing the list and then filter with List.MatchesPostfix function.

Examples

Queries files in download folder on Mac:

MBS("Files.ListRecursive"; "/Users/cs/Downloads")

Queries visible files in my user folder, limit for 10 seconds:

MBS("Files.ListRecursive"; "c:\\Users\\Christian"; 5; 10)

List only visible files in visible directories:

MBS( "Files.ListRecursive"; "/Users/shared"; 64+4)

Find files containing "runtime"in the name within a folder:

MBS("Files.ListRecursive"; "C:\Program Files\Test"; 128; 5; "runtime")

Find all MP3 and MP4 files in the music folder:

MBS("Files.ListRecursive"; MBS("Folders.UserMusic"); 4; 10; ".mp3¶.mp4")

See also

Release notes

  • Version 16.1
    • Changed Files.List, Files.ListAsJSON and Files.ListRecursive to accept a list for ExtensionFilter parameter.
  • Version 15.2
  • Version 8.4
  • Version 7.3
    • Added new flag for Files.ListRecursive to ignore invisible folders and better check for hidden elements.
  • Version 7.1

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 24th February 2026


Files.ListAsJSON - Files.ListVolumes