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.2
12.3
12.4
12.5
13.0
13.1
13.2
13.3
13.4
13.5
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 |
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 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:
While(
[
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:
test.zip -> 834
test.rtf -> 400
Import all files in a folder:
# list files in a folder
Set Variable [ $r ; Value: MBS("Files.List"; $FolderPath) ]
# loop over the files
Set Variable [ $count ; Value: ValueCount ( $r ) ]
Set Variable [ $index ; Value: 0 ]
If [ $count>0 ]
Loop
# build path
Set Variable [$fileName; GetValue ( $r ; $index+1 )]
Set Variable [$filePath; Value: MBS( "Path.AddPathComponent"; $FolderPath; $fileName )]
Set Variable [$fileData; Value: MBS("Container.ReadFile"; $filePath)]
# create record for new file
New Record/Request
Set Field [MyData::Container; $fileData ]
Set Field [MyData::Name; $fileName ]
Commit Records/Requests [ With dialog: Off ]
Set Variable [ $index ; Value: $index + 1 ]
Exit Loop If [ $index = $count ]
End Loop
End If
This function checks for a license.
Created 18th August 2014, last changed 2nd August 2023