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 | Description | Format |
Relative | 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 |
|
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 |
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.
filewin:/C:/ExcelFiles/Hosted/test.xlsx
filemac:/MacintoshHD/ExcelFiles/Hosted/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.
fmnet:/host1.domain.com/Databases/test.fmp12
fmnet:/host2.domain.com/Databases/test.fmp12
file:../Databases/test.fmp12
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"
To | 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: macOS: |
Specify absolute paths or relative paths, with various path type prefixes |
|
|
Specify a path type prefix dynamically or as part of a longer path |
|
|
Specify one or more complete paths |
|
|
Specify a directory (not a file) |
|
|
•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.