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


Converts a FileMaker path useful for "filemac:" and "filewin:" path specification to a native path.

Component Version macOS Windows Linux Server iOS SDK
Path 2.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Path.FileMakerPathToNativePath"; path { ; PassThroughNativePath } )   More


Parameter Description Example Flags
path The FileMaker file path. "/Macintosh HD/Users/test/Desktop/picture.jpg"
PassThroughNativePath Available in MBS FileMaker Plugin 11.0 or newer.
Whether to pass through a native path directly and avoid conversion, if the path is valid already.
Default is 1 to enable this.
1 Optional


Returns the native path.


Converts a FileMaker path useful for "filemac:" and "filewin:" path specification to a native path.
The difference between a native path and a FileMaker path on Mac is, that FileMaker expects to have the Disk Name in front followed by the rest of the path. macOS functions require paths from the root disk to start without volume name. Other disks have paths starting with "/Volumes/name".
This function does not work for relative paths.

For version 11.0 we build in a check to pass through valid native paths. You should not need this feature as you care about your paths and you know what path you put into what variable, right?


Convert path to native path:

MBS( "Path.FilemakerPathToNativePath"; "/Macintosh HD/Users/test/Desktop/picture.jpg")

Convert path with path list:

MBS( "Path.FileMakerPathToNativePath";
"file:test/picture.jpg¶" &
"fileLinux:/test/picture.jpg¶" &
"fileMac:/Macintosh HD/Users/test/Desktop/picture.jpg¶" &
"fileWin:D:\test\picture.jpg" )
// pick the right path from a list of paths.

Batch convert list of paths:

# test kopie20 in file Contacts

Set Variable [ $FMPaths ; Value: "/Mac/Users/test/Desktop/picture1.jpg" & ¶ &
    "/Mac/Users/test/Desktop/picture2.jpg" & ¶ &
    "/Mac/Users/test/Desktop/picture3.jpg" & ¶ &
    "/Mac/Users/test/Desktop/picture4.jpg" & ¶ &
    "/Mac/Users/test/Desktop/picture5.jpg" & ¶ &
Set Variable [ $NativePaths ; Value: While (
    [ list = ""; i = 1; c = ValueCount ( $FMPaths ) ] ;
    i ≤ c ;
    [ path = GetValue($FMPaths; i); npath = MBS( "Path.FileMakerPathToNativePath"; path ); list = list & npath & ¶; i = i + 1 ] ; list ) ]
Show Custom Dialog [ "Native Paths" ; $NativePaths ]

Mix use of native and FileMaker style paths:

Set Variable [ $tempFM ; Value: Get(TemporaryPath) & "test.txt" ]
# convert to MBS
Set Variable [ $tempMBS ; Value: MBS( "Path.FileMakerPathToNativePath"; $tempFM) ]
# write file with MBS
Set Variable [ $r ; Value: MBS( "Text.WriteTextFile"; "Hello World"; $tempMBS; "UTF-8") ]
# now have FileMaker email it with the FileMaker style path
Send Mail [ Send via SMTP Server ; No dialog ; “$tempFM” ]

See also

Release notes

Example Databases

Blog Entries

This function is free to use.

Created 18th August 2014, last changed 20th February 2024

Path.AddPathComponent - Path.FilePathToFileURL