Creating a custom app > Creating file paths

Creating file paths

You can specify file paths to an external file or a FileMaker data source. Each named file or FileMaker data source can consist of one or more file paths. Use multiple file paths when you want FileMaker clients to search a list of potential files.

For information on adding a FileMaker data source and specifying file paths, see Connecting to external data sources.

FileMaker clients support file paths in special FileMaker formats:


Type of path




The path to a target file specified from the current database's location or from the user's Documents folder (see notes, below)




Full local or remote (macOS)

The absolute path to a target file or folder, either local or on a remote volume, beginning at the top level of the file system



Full local (Windows)

The absolute path to a target file or folder in Windows, beginning at the top level of the file system



Full remote (Windows)

The absolute path to a target file or folder on a Windows volume shared using Windows file sharing



FileMaker Network

The network path to a shared FileMaker Pro Advanced file


About path prefixes

A path prefix determines when FileMaker clients can use a specific path:

Prefixes beginning with file, image, or movie specify the data type of the file. Script steps that work only with specific data types require image or movie (see below); otherwise, use file.

Prefixes ending with win, mac, or linux specify the platform the path can be used on.

The fmnet prefix specifies a network path to a shared FileMaker Pro Advanced file.

You can use prefixes that begin with file for any full or relative path. The file prefix can be used on any platform.

Because it can be difficult to create multiple platform-specific paths, in many cases it's easier to use only the file prefix (without a platform ending) along with the Get(TemporaryPath) function or Get(DocumentsPath) function to specify a single path as a variable. At runtime, a variable path using these functions works specifically on the current client's platform. For example, a variable defined with the following expression specifies the myfile.txt file in the client's temporary folder:

"file:" & Get ( TemporaryPath ) & "myfile.txt"

The following table lists all supported path prefixes and gives examples of where they can be used.


Path prefix

Used for





Importing and exporting data using the Import Records script step and Export Records script step, FileMaker data sources, files inserted into container fields using the Insert File script step, and script steps that work with data files





Image or PDF files inserted into container fields using the Insert PDF script step or Insert Picture script step, respectively





Audio/video files inserted into container fields using the Insert Audio/Video script step

Examples of multiple file paths

When you add external data sources or create scripts that access files, you can use multiple file paths when you want FileMaker clients to search a list of potential files. File paths are searched in the order in which they appear. A FileMaker client opens the first file it is able to successfully locate, which completes the search. Each file path must be on a separate line.

Example 1: In this example, a FileMaker Pro Advanced database must work on two different operating systems: a Windows system and a macOS system that each accesses local files. On both platforms, the database must access a local file named test.xlsx.


Alternatively, if the Hosted folder is in both systems' Documents folder, you can use a variable set to this expression to specify a single path that works on both platforms:

"file:" & Get ( DocumentsPath ) & "Hosted/test.xlsx"

See "Examples of using variables in file paths" below.

Example 2: In this example for a scripted record import, a FileMaker Pro Advanced database should access a file that is hosted. However, because the host may not be available, you also reference two alternate files, one hosted by a different server, the other stored locally on your hard drive. If the first network file is unavailable, FileMaker clients will search for the second network file. If the second network file is also unavailable, FileMaker clients will search for the local file.


Examples of using variables in file paths

Variables let you specify file or folder paths dynamically in many script steps, such as the Insert File script step and Import Records script step. See Using variables.

In the examples below, assume the following variables:

$fileName = "test.xlsx"
$username = "JohnSmith"
$targetDir = "Documents/Clients"
$chosenType = "filewin"
$$source = "file:Documents/2019/demo files"
$driveLetter = "G:"
$docsFilePath = "file:" & Get ( DocumentsPath ) & "test.xlsx"
$searchList = "file:old results.txt
               file:../archived/old results.txt"



Path list entry

Resolved path list

Specify a filename only



Specify one or more directories in a path



Specify a file in the Documents folder on any supported platform


Windows: file:/C:/Users/John Smith/Documents/test.xlsx

macOS: file:/Macintosh HD/Users/johnsmith/Documents/test.xlsx

Specify absolute paths or relative paths, with various path type prefixes







Specify a path type prefix dynamically or as part of a longer path




file:Documents/2019/demo files/test.xlsx

Specify one or more complete paths


file:old results.txt

file:../archived/old results.txt

Specify a directory (not a file)





file:Documents/2019/demo files/



To access a file located on a shared Windows volume, use the network path format. This format is only compatible with shared Windows volumes. It is not compatible with shared macOS volumes or FileMaker Network sharing.

To access a file located on a remote macOS volume, ensure that the volume is mounted first and begin the path with filemac. For example, to export records to the file named test.xlsx in the Clients folder on the Home volume on the myhost server, the path would be filemac:/Home/Clients/test.xlsx if you mounted the Home volume on myhost.

Do not use an asterisk (*) as a wildcard character in network file paths, as it slows FileMaker network traffic. When possible, replace an asterisk with the appropriate IP address or use variables in file paths.

Use the following characters as separators in a file path list: "/", ":", or carriage return.

You can use variables in FileMaker data source references. See Editing FileMaker data sources.

If the current database is opened locally, a relative path is to a target file specified from the current database's location. If the current database is opened remotely, a relative path is to a target file specified from:

the host's network address, if the path is to a FileMaker Pro Advanced file (any folders in the path are ignored)

the user's Documents folder, if the path is to a file of any other type

Access to files varies by client:

For FileMaker Pro Advanced and FileMaker Go, access to local files is limited only by the operating system.

For server-side scripts, file access is limited to the Documents folder and temporary folder. See Paths in server-side scripts.

FileMaker WebDirect, the FileMaker Data API, and Custom Web Publishing cannot access the server's file system.