Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 12.0   12.1   12.2   12.3   12.4   12.5   13.0   13.1   13.2   13.3    Statistic    FMM    Blog  


Queries list of file names in folder.

Component Version macOS Windows Linux Server iOS SDK
Files 2.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Files.List"; Path { ; filter; ExtensionFilter } )   More


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 1 for showing only files, 2 for showing only directories and 4 for showing only visible items.
Add 8 if the path includes the file name specification with wildcards; a.k.a glob.
Combined pass 4+1 for visible files or 2+1 for visible directories.
5 Optional
ExtensionFilter Optional, a filter for getting only files with matching file extension. ".txt" Optional


Returns list of files separated by return.


Queries list of file names in folder.
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.
With filter parameter being 8 on Windows, you can pass a path with wildcards directly and ExtensionFilter parameter is ignored. This is not supported on macOS.

See also Files.ListRecursive. You can filter result with List.MatchesPostfix to get list with one file extension only.

Our plugin does not sort and return the files in the order the OS returned them. If you need sorting, please check List.Sort function. Also use List.RemovePrefix or List.RemovePostfix to filter list further.

On macOS, if you can't read a directory, please also check privacy system settings for whether FileMaker has permissions to look into desktop, documents or downloads folder or remote volumes.


Queries files in Users folder on Mac:

Set Variables [ $FileList; Value: MBS("Files.List"; "/Users") ]

Queries visible files in windows folder:

Set Variables [ $FileList; Value: MBS("Files.List"; "c:\\Windows\\"; 5) ]

Queries DLL files in windows folder:

Set Variables [ $FileList; Value: MBS("Files.List"; "c:\\Windows\\"; 0; ".dll") ]

Queries Applications with name starting with e in windows folder:

Set Variables [ $FileList; Value: MBS("Files.List"; "c:\\Windows\\e*.exe"; 8) ]

Find FileMaker databases in a folder:

Set Variables [ $FileList; Value: MBS("Files.List"; "c:\\Users\\Christian\\Desktop"; 0; ".fmp12”)]

Query all file names and sizes for files on desktop:

    names = "";
    // query list of visible files on desktop
    folder = MBS("Folders.UserDesktop");
    list = MBS( "Files.List"; folder; 1+4 );
    count = ValueCount(list);
    index = 1
] ;
    index ≤ count ;
    filename = GetValue(list; index);
    filepath = MBS("Path.AddPathComponent"; folder; filename);
    // query size for each file
    size = MBS( "Files.FileSize"; filepath);
    names = names & filename & " -> " & size & ¶;
    index = index + 1
] ;
// return all the names
names )

Example result: -> 834
test.rtf -> 400

See also

Release notes

  • Version 12.2
    • Fixed Files.List to better check directory status on macOS using alternative code path.
  • Version 11.5
    • Fixed Files.ListAsJSON to query date and size of a symlink instead of the target.
  • Version 10.5
  • 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 paid license.

Created 18th August 2014, last changed 25th April 2023

Files.LaunchFile - Files.ListAsJSON

💬 Ask a question or report a problem

Start Chat