Skip to main content

File plug-in logo

Troi File Plug-in is a very powerful tool for getting access to information outside the FileMaker database. Any files stored on the rest of the computer can be accessed through the functions of the plug‑in.

Buy NowDownload

Version 16.0

Works with

FileMaker Pro 17 to 21 (2024)
Claris Pro 40.1 to 40.2
FileMaker Server 17 to 21 (2024)
macOS 11.0 to 14
Windows 10 to 11

Manipulate any information on your disk

Troi File Plug-in lets you deal efficiently with any files or folders outside the database. All from within FileMaker you can:

  • get data from files that are on the disk of the computer into FileMaker
  • create files anywhere on the hard disk and put data from FileMaker fields into them
  • manipulate files and folders on the disk: this includes creating, deleting, copying, moving and modifying files and folders
  • query detailed information of files and folders: the size on disk, creation and modification dates and much more
  • launch and reveal files directly from FileMaker
  • manage your images and movies: get images and their metadata (IPTC, Exif, GPS, XML) inside your FileMaker database and write IPTC and Exif metadata too!

88 functions and 40 script steps give you ample power

Troi File Plug-in adds 88 functions to FileMaker, giving you virtually limitless possibilities! Starting with FileMaker 16 plug-ins can also add script steps. In File Plug-in version 16 you will find 40 script steps which perform an action. You can select these in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose it from the list that appears. The script steps significantly expand the possible actions you can perform with FileMaker.
Here we give you just some examples of what you can do with this plug-in:

Manage your media

Troi File Plug-in allows you to retrieve extensive image and movie data like width, height and depth, and much more. While we were at it we also added an extensive example file ManageMedia.fmp12. This example file combines some of the Troi File Plug-in’s functions to create a powerful Media Manager for images and movies. It shows how to import one or multiple images and/or movies from a folder. It also retrieves a wealth of metadata like width and height, IPTC metadata (amongst others caption, description, keywords, copyright), GPS, XMP and Exif metadata. Exif metadata is information about the time a photo was taken, aperture, shutter speed and the like. And did we mention the example file also works with movie files?

Write metadata

With Troi File Plug-in you can write EXIF and IPTC metadata information to your image files. By using the “-SetImageURL” switch you can set the Photoshop Image URL metadata (not part of the official IPTC specification). The “-UTF8CharSet” switch can be used together with the “-SetIPTC” and “-SetEXIF” switch. This will write the metadata encoded as UTF-8 text and will set the CodedCharacterSet tag in the written image file (which indicates the encoding) to UTF-8.
On macOS you can also add and change metadata like title, GPS and creation data in movie files (like .mov and .mp4).

Create thumbnails of your image, movie and pdf files

With Troi File Plug-in you can create thumbnails of your image files in any size, including square thumbnails, which is great for presenting multiple images to a user in a compact grid. We have added a grid view to the Thumbnail example file, which demonstrates (in a simplified way) how to do this. We also added the possibility to add a name when creating a thumbnail with the TrFile_CreateThumbnail function. The name is normally not visible, but will be used for example when you perform an Export Field Contents action later. Another feature is the possibility to make thumbnails in the PNG format, with an alpha channel. This means that the thumbnail will have the same transparent areas as the original image.
On macOS you can also create a thumbnail of your movie files (like .mov, .mp4 etc.). The plug-in will create a thumbnail of the first frame of the movie.
Creating thumbnails of pdf files is possible on both macOS and Windows. On macOS the switch “-AllowPDFUpscaling” allows you to create larger sized thumbnails (with high quality) from smaller vector based PDFs.

Get the contents of files into your database, including the text content of pdf files

The GetContents function of the plug-in will return the contents of a (text) file into your database. You can specify a starting position and the number of characters to get, to return only a part of the contents.
To get the text content of a pdf file use the TrFile_GetAsPlainText function.

Insert text into a file

Troi File Plug-in can substitute text in and append text to an external (text) file. You can search for a text string in a file and substitute it with a different text. You can substitute text and have the result saved in the same file! And you can use replace strings of up to 150,000,000 characters, making it possible to substitute tags with much longer replacements in template files. With the function TrFile_InsertContents, you can insert text into a file at a specified position.
Creating a (data) file and setting its (text) contents in one step is also possible. This can be very useful if you don’t have append or update privileges on the file (for example in a drop folder).

Check the type and availability of items

Before manipulating files and folders with the many functions Troi File Plug-in offers you, you can check their type and availability, thus avoiding possible errors. The function TrFile_GetTypeOfItem provides an easy way to see if a path points to a folder, file or package folder (macOS). It can also indicate if a file is an alias file (known as shortcut on Windows). To get the extension of a file use the TrFile_GetExtension function. The TrFile_GetFileKind function will return a (localized) description of what kind of file this is. For example a .fmp12 file will return “FileMaker Document” and a .zip file will return “ZIP Archive”. The TrFile_Exists function will tell you if a file or folder you want to manipulate exists and the TrFile_IsFree function will let you know whether a file is in exclusive use by a different application or locked.

Exchange two files on disk

The plug-in’s ExchangeFiles function lets you quickly exchange two files that are stored on your disk. Very handy when updating existing files: work in a draft version first and when your draft is ready, replace the original file with just one script step. Also works when the files are located on different disks!

Create and resolve alias files

The plug-in’s CreateAlias function lets you create an alias file (or shortcut) from a source file or source folder. Resolving an alias file is easy with the ResolveAlias function. It returns the path to the destination of the alias file. If the alias is broken you can use the switch “-ReturnLastKnownPath” to get the last path the alias pointed to.

Zip and unzip files and folders

The plug-in’s CreateZip function lets you create a compressed archive of files and folders. Expanding ZIP files is easy with the UnZip function. You can specify the folder where the unzipped items need to be placed. The GetZipInfo function lists the items (files and folders) inside a ZIP file. This allows you to check what’s inside a ZIP file before you unzip it, so no unwanted overwriting of existing items occurs.

Powerful listing of folders and searching

Troi File Plug-in lets you recursively list the contents of a folder with one call to the plug-in. The plug-in will return a list of all files and/or folders and all the subfolders contained in the folder you are listing. This makes processing all the items in a deeply nested folder very easy, like for example listing all the Word documents contained in a folder.
On macOS you can optionally even list the internal contents of a package folder (like for example a macOS app).

Get file icons

The GetIcon function gets the icon of a file. It can create icons in sizes varying from 16×16 to 1024×1024 pixels and with double resolution, which is great for retina screens.

Drag and drop files into and out of FileMaker

Troi File Plug-in adds several possibilities for dragging and dropping items into and also out of your database:

Drag your files and mails into FileMaker
Troi File Plug-in allows you to drag one or more files or folders on a FileMaker window or even a drop zone. The paths of the dropped items can then be handled by a triggered script, for example to put them in a container field. You can specify up to six drag destination rectangles (even on the same window), and each drag can trigger a different script. The plug-in has a ‘Bring to Front’ script step that will bring FileMaker Pro back in front of other applications when you use the Drag and Drop functionality to drag from another application that is in front.
The drag and drop functionality includes Mail Drop (macOS only). You can drag one or more emails from the Mail.app to the FileMaker window. Add the switch “-AllowMailDrops” to the switches parameter of TrFile_DragAndDrop function to enable this extra functionality. The DragAndDrop example file reflects the Mail Drop functionality with an extensive example demonstrating the handling of single and multiple Mail Drops.

Drag “file promises” into FileMaker
On macOS you can drag “file promises” into your FileMaker database. These are files or images that don’t exist yet, which you can receive from a different application. When you add the switch “-AllowFilePromiseDrops” you can drop files or images for example from a web application (like Safari or Photos) to the drop zone. You can also drag custom types from a web application, like a zip file.

Drag files out of FileMaker
The function TrFile_StartDragSource allows you to click and drag the (binary) contents of a container field or variable as a file out of FileMaker into other applications (for example a web application). You add this function to a tooltip calculation to enable it on the layout.

Command your shell

With the TrFile_ExecuteShell function you can execute a command in the command shell of the operating system. On macOS this will be a command executed in the UNIX Bash shell, and on Windows this is the Windows CMD shell.

Suggested Uses

Troi File Plug-in can be used in a lot of ways. Its 88 functions and 40 script steps give you a universal tool that can be used in a lot of databases. Below are a few suggestions on how Troi File Plug-in can be useful:

  • list the contents of a folder and process newly added files. TIP: with Troi Activator Plug-in you can trigger a script when a file or folder is added to a folder you monitor!
  • check the integrity of files on disk with a hash or get code sign info from applications
  • update solutions, by moving (database) files into place
  • read and write custom formatted files, for example from legacy systems
  • catalogue complete projects, including pictures
  • manage images, movies and other files
  • launch files with their appropriate application directly from FileMaker

The possibilities are only limited by your imagination!

Try Troi File Plug-in before you buy

You are free and invited to test the plug-in before you pay. Troi File Plug-in is fully functional in demo mode, it will only stop working after 2 hours of testing. Download your copy here.

Troi File Plug-in 16.0

Troi File Plug-in 16 adds compatibility with Claris FileMaker Pro 21 (FileMaker Pro 2024), macOS 14 (Sonoma) and Windows 11 version 23H2.
We added a new function TrFile_CreateFileWithContents and script step Create File with Contents, which create a new (data) file and fill it with (text) contents in one step. This can be very useful if you don’t have append or update privileges on the file (for example in a drop folder).
We added new switch “-GetPhotoshopIPTCDigest” to the TrFile_GetMetaData function: this will return the IPTC Digest, a 32-bit MD5 hash, that Photoshop (and other apps) can store as a PSD resource.
On Windows we improved the TrFile_ListFolder function, it can now also list folders where the total length of the folder path is longer than 260 (MAX_PATH) characters.
We made the Drag and drop functionality compatible with FileMaker Pro 21.
We improved support for getting thumbnails from Photoshop files (with extension .psd) and Large Document Format Photoshop files (with extension .psb). On macOS we added a new switch “-AllowPDFUpscaling” to the TrFile_CreateThumbnail function. This will allow you to create larger sized thumbnails (with high quality) from smaller vector based PDFs.
For other new functionality and a complete list of fixed problems and other improvements please see the Version history below.

Version history

Troi File Plug-in 16.0 (for FileMaker 17 to 21) (June 4, 2024)

Improved compatibility

  • Tested and made compatible with Claris FileMaker Pro 21 (FileMaker Pro 2024).
  • Tested and made compatible with macOS 14 (Sonoma).
  • Tested and made compatible with Windows 11, including Windows 11 version 23H2 (October 31, 2023).

New functionality and improvements

  • Added new function TrFile_CreateFileWithContents, which can be used to create a new (data) file and fill it with (text) contents in one step. NOTE This function creates the file, keeps it open to add the data, then closes the file. This can be very useful if you don’t have append or update privileges on the file (for example in a drop folder).
  • Added new script step Create File with Contents, which also can be used to create a new (data) file and fill it with (text) contents in one step.
  • Added new switch “-GetPhotoshopIPTCDigest” to the TrFile_GetMetaData function: this will return the IPTC Digest that Photoshop (and other apps) can store as a PSD resource. It is a 32-bit MD5 hash, the plug-in can return for example “b4ad8c00bd98f20427ee98ecf8498009”. If no IPTCDigest is found error code $$-2026 (userDataItemNotFound) is returned.
  • Updated the IPTC_XMP_Metadata.fmp12 example file, it now can get the IPTC Digest.
  • (Windows) Improved the TrFile_ListFolder function, it can now also list folders where the total length of the folder path is longer than 260 (MAX_PATH) characters. In this case the function no longer returns a $$3 (ERROR_PATH_NOT_FOUND) error code.

Unicode improvements

Improved Drag and Drop functionality

  • Drag and drop is now compatible with FileMaker Pro 21.
  • Improved handling of MailDrop in theDragAndDrop.fmp12 example: added support for decoding of subject headers that are encoded as base64 UTF-8 (these subjects start with: “Subject: =?utf-8?B”). See the script “___Parse raw email into fields”.

Improved thumbnail and metadata support

  • Improved support for getting thumbnails from Photoshop files (with extension .psd) and Large Document Format Photoshop files (with extension .psb).
    Also the plug-in now can fallback on thumbnails embedded in the PSD or PSB file, when other ways of creating thumbnails are not possible, for example when the color mode of the PSD file is multichannel.
    Note that these embedded thumbnails are normally small in size, up to 160×160 pixels and the plug-in can only return thumbnails up to this size.
  • (macOS) Fixed a bug in the TrFile_CreateThumbnail function: when trying to create a thumbnail from unsupported file types (like for example .txt files) the file would stay open. When doing this repeatedly no more files could be opened and the error code $$24 would be returned.
  • Improved the TrFile_CreateThumbnail function: improved support for EPS files.
  • Improved the SetExif.fmp12 example file: EXIF GPS Altitude with values below sea level are now properly set.
  • Improved the Set MetaData of Image File script step and the TrFile_SetMetaData function, with “-SetExif” switch: when setting the GPS AltitudeRef byte, the remaining 3 bytes are now set to zero (they could bet set to arbitrary data).
  • (macOS) Added new switch “-AllowPDFUpscaling” to the TrFile_CreateThumbnail function. This will allow you to create larger sized thumbnails (with high quality) from smaller vector based PDFs. For example a vector based PDF has native dimensions of 128×40. When you add the switch you can create a crisp thumbnail with for example size 1280×400.
  • Improved the Thumbnail.fmp12 example.

Improved security and speed

  • Improved the security in several placed and updated the source code.
  • Improved the speed of the TrFile_ListFolder function for folders with deep subfolders.

Other bug fixes and changes

  • (Windows) Fixed a memory leak in the TrFile_CreateFile function.
  • (macOS) Fixed a small memory leak which occurred when the size of a file was requested.
  • (macOS) Fixed a bug in the the TrFile_AsciiValueToText function when using the switch -Encoding=ASCII_Windows. The plug-in no longer crashes when you use values that are undefined for this encoding. The undefined values for this encoding (see Windows-1252 codepage) are 0x81, 0x8D, 0x8F, 0x90 and 0x9D (decimal: 129, 141, 143, 144 and 157). For compatibility with the plug-in running on Windows these values will now be added with the same values as a Unicode character.
  • (Windows) Fixed a problem with the TrFile_ListFolder function: the directories . and .. are now returned on network drives when using the switch -showpointdirs.
  • IMPORTANT The minimum supported FileMaker version is now FileMaker Pro 17. Also the minimum supported macOS version is now macOS 11 (Big Sur). For Windows the minumum supported version is Windows 10.

Troi File Plug-in 15.1 (for FileMaker 16 to 2023) (May 13, 2024)

  • This is a maintenance update.
  • Improved the code and example files in several places and fixed some small bugs.

Troi File Plug-in 15.0 (for FileMaker 16 to 2023) (June 1, 2023)

Improved compatibility

  • Tested and made compatible with Claris FileMaker Pro 2023 (FileMaker Pro 20.1.1)
  • Tested and made compatible with Claris FileMaker Pro 19 up to Claris FileMaker Pro 19.6.3.
  • Tested and made compatible with Claris Pro 40.2.1.
  • Tested and made compatible with macOS 13 (Ventura).
  • Tested and made compatible with Windows 11, including Windows 11 version 22H2 (September 20, 2022).

New functionality and improvements

  • Added switch “-SkipInvisibles” to the TrFile_GetFolderSize function.
    If you add this switch the plug-in will not add the size of invisible (hidden) files to the returned size. Invisible files are files with hidden attribute or files with a filename that starts with a period. See also the ListFolder.fmp12 example file.
  • Added support for Digital Negative (DNG) files and Apple ProRAW to the TrFile_CreateThumbnail function. You can now create thumbnails from (Apple ProRAW) DNG files.
  • Improved the Set MetaData of Image File script step and the TrFile_SetMetaData function with the switch “-SetIPTC”. The plug-in will now write the IPTC metdata earlier in the JPEG file, improving compatibility with other applications that read or write IPTC. The plug-in will now also correct the position of existing (IPTC) metadata when you set IPTC metadata.
  • (Windows) Enhanced the TrFile_CreateThumbnail function and
    significantly improved the speed of creating thumbnails for rotated JPEGs (with internal orientation tags other than horizontal in the EXIF).
  • (macOS) Improved extended attributes (xattrs) support with the script steps:

    and the functions:

    If the source file has extended attributes they are also copied to the destination file. If the source file has a (legacy) resource fork stored as xattr this is also copied.

Improved Security

  • Improved the code in several places and made it more secure.
  • (macOS) Modernized the code and removed dependency on legacy Carbon code in several places.

Increased speed

  • (Windows) Improved the speed of the TrFile_GetFileSize function for files on network drives.
  • (Windows) Added switch “-UseClassicGetFileSize” to the TrFile_GetFileSize function. If you add this switch the plug-in will use the original implementation of getting the file size.

Improved Drag and Drop functionality

  • Drag and drop is now compatible with FileMaker Pro 2023!
  • (macOS only) Improved the drag and drop functionality by allowing File Promise Drops. You can now drag files that don’t exist yet, a.k.a. file promises to the FileMaker window. To enable this extra functionality add the new switch “-AllowFilePromiseDrops” to the switches parameter of the TrFile_DragAndDrop function. When you have enabled this, you can drop files (like zips) or images for example from a web application (in Safari) to the drop zone.
  • Added new function TrFile_StartDragSource, which can be used to start drags of any file type from the FileMaker window to for example a web application or the Finder. You can specify what to drop from a container field (or a variable with container data). After a successful drag you can also trigger a script. You add this function to a tooltip calculation to enable it on the layout.
    For debugging you can also add this switch: “-HighlightDragSource”, which will show the (current) rectangle of the DragSource (macOS only).NOTE: Files stored as reference that cannot be found will create a text file: fileReference.txt. This will contain the filename and the (broken) path to the file.
  • (macOS) Improved the drag and drop functionality, improved the code and made it more robust if paths cannot be found or converted. Also improved handling of multiple mail drops on macOS 10.15 and later.
  • (macOS) Improved the MailDrop functionality. Temporary files in the TroiTEMPDRAGFOLDER folder are now deleted after the system restarts and no longer show up in a Rescued Items folder in the trash.
  • Updated the DragAndDrop.fmp12 example. Added notes and optional script steps to better find the bounds for drop zones on layouts with a Top Navigation Part.
    You can find this in the scripts that will add a drag and drop handler by calling the TrFile_DragAndDrop function. See the scripts:

    • _Start Accept. DragAndDrop (in container fieldbounds)
    • Start Accept. DragAndDrop (in fieldbounds of zone2 or zone3 object)
  • Also improved dropping mail into the DragAndDrop.fmp12 example. It now handles slow maildrops better, by waiting up to 5 seconds.
  • Fixed a problem in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function: drag and drop now correctly works with FileMaker Pro 2023 (FileMaker Pro 20.1.1).

Improved (movie) metadata support

  • Improved the TrFile_GetMetaData function: you can use these switches to easily get a single metadata item of a movie:
    • -GetMovieTitle
    • -GetMovDescriptionStr *
    • -GetMovieKeywords
    • -GetMovieAlbum
    • -GetMovieArtist
    • -GetMovieAuthor
    • -GetMovieComment
    • -GetMovieCopyright
    • -GetMovieInformation
    • -GetMovieProducer
    • -GetMovieDirector
    • -GetMovieEncodedBy

    * Note that the -GetMovDescriptionStr switch is different from the existing -GetMovieDescription switch, which returns a list of (all) movie properties.

  • Improved the TrFile_GetMetaData function: added support for getting EXIF out of PNG images.
    NOTE Exif support was added to the PNG format on July 2017, in the “Extensions to the PNG 1.2 Specification, Version 1.5.0”.

Startup Registration Log

  • Improved the EasyInstallTroiPlugins.fmp12 example file (v1.8.6): added a script which adds the Startup Registration Log to the log field. This will get a text log of the startup registration process of the plug-in.
  • Added an example script “Get Startup Registration Log of the plug-in” of Version.fmp12, which gets the text log of the startup registration of the plug-in.
  • Added switch “-GetStartupRegistrationLog” to the TrFile_Version function. This will return a text log of the plug-in’s registration process at startup time of FileMaker Pro. When you have problems registering the plug-in, you can see if the payment certificate was found and if a valid registration code was found.

Other bug fixes

Troi File Plug-in 14.0 (for FileMaker 16 to 19) (August 18, 2022)

Improved compatibility

  • Tested and made compatible with Claris FileMaker Pro 19.5 including FileMaker Pro 19.5.2.
  • Tested and added initial compatibility with the upcoming Windows 11 version 22H2.
  • Tested and added initial compatibility with the upcoming macOS 13 Ventura.

New functionality and improvements

  • Added new TrFile_GetFileName function, which returns the name of a file (or folder) in a filePath, including the extension. The file does not need to exist. A returned result can be for example “Readme.txt”.
  • Updated the Attribute example file with an example of the new TrFile_GetFilename function.
  • Added new TrFile_GetPreferredLanguages function, which returns a list of the preferred language and country codes of the current user. The returned result can be for example:
    • en-US
    • nl-NL
    • en-GB

    You can also add the switch “-GetFirstLanguage” to only get the first preferred language-country of the list.

  • Added new switch “-GetIccProfileName” to the TrFile_GetMetaData function: this will get the name of the embedded ICC Color Profile in the JPEG, for example it will return “sRGB IEC61966-2.1” or “Generic RGB Profile”.
    If no ICC Profile is embedded error code $$-2026 (userDataItemNotFound) is returned.
  • Added new switch “-GetLocalizedIccProfileName” to the TrFile_GetMetaData function: this will get the localized name of the embedded ICC Color Profile in the JPEG. Based on the user language settings it will return the ICC name that best matches the user language. For example for an Italian user it can return “Profilo RGB generico”.
  • Added new switch “-GetIccProfileDescription” to the TrFile_GetMetaData function: this will return a text description of the properties of the embedded ICC Color Profile. The result is formatted as a list. You can also add the switch “-Format=XML” to get the result in XML format, with the XML tags colored blue. When you also add the switch “-DontAddStyle” the result is in plain text.
  • (macOS) Improved the ExecuteShell.fmp12 example file: added an example on how to use sudo so you can execute commands as a superuser with the TrFile_ExecuteShell function.
  • (macOS) Improved the help text in the calculation dialog for the TrFile_Search function, it now shows the two essential switches to use: “-files” and/or “-folders”.

Improved HEIC/HEIF image format support

  • (macOS 10.15 and later) The TrFile_CreateThumbnail function now supports creating thumbnails from HEIC (High Efficiency Image File Format) image files. This includes .heic images created on iOS and other images with the .heif extension.
  • (Windows 10 version 20H2 and later, Windows 11) The TrFile_CreateThumbnail function can now create thumbnails from HEIC (High Efficiency Image File Format) image files. You will need to install the HEVC Video Extensions from Microsoft (which costs $0.99). Thumbnail support also includes .heic images created on iOS and other images with the .heif extension. See also How to install HEVC Video Extensions on Windows.
  • (Windows 11 and later) Added support for HEIC (High Efficiency Image File Format) image files: the TrFile_GetMetaData function with the switch “-GetImageDescription” now returns a description like codec name and type.

Improved iCloud Drive functionality (macOS)

  • Added switch “-iCloudStartDownloadingItem” to the TrFile_SetFileAttribute function. This will start the download of a file on the iCloud Drive to the local disk. For files already locally on the disk, this function won’t do anything and the function will return error code 0. You can also specify a folder on iCloud Drive, in this case iCloud will start downloading local copies of all files enclosed by this folder.
  • Added switch “-iCloudRemoveLocalCopy” to the TrFile_SetFileAttribute function. This will remove the local copy of a file on the iCloud Drive. The file will not be removed from iCloud! For files not on the iCloud Drive, this function won’t do anything and return error code 0. You can also specify a folder on iCloud Drive, in this case the local copies of all files enclosed by this folder will be removed.
  • Added iCloud Status example to the Attribute.fmp12 example file. This demos getting and changing the iCloud status of files and also demonstrates the switch “-AllowNonLocalCloudItems” of the TrFile_SelectFileDialog function, which allows you to select files that are not downloaded to the local disk.

Bug fixes

  • (Windows) Fixed a bug in the TrFile_GetZipInfo function, where only one filename would be returned even if more files are present in the ZIP archive.
  • (macOS) Fixed a bug in the TrFile_GetContents function, where FileMaker could crash if the filePath specified a folder. Now the function returns $$-1302 (notAFileErr) in this case.
  • (macOS) The plug-in would return error code $$-47 (fBsyErr) in some cases where the user did not have sufficient access permissions, for example when getting the contents of a file. In this case the plug-in now returns the more correct error code $$-54 (permErr = permissions error).
  • (macOS) Fixed a problem with the
    Move Folder and
    Copy Folder script steps and the
    TrFile_MoveFolder and
    TrFile_CopyFolder functions, where the plug-in would return error code $$-47 (fBsyErr) when the destination folder exists. It will now correctly return $$-48 (dupFNErr) if the destination folder exists.
  • Improved the GetExif.fmp12 and SetExif.fmp12 example files, the EXIF padding tag is now parsed too.
  • (Windows) The plug-in no longer returns error $$-120 (dirNFErr; directory not found) when specifying valid UNC paths that use forward slashes as separators (as opposed to backward slashes). So you can now use paths like this: “//Server/share/file.txt”.
  • Fixed a bug in the TrFile_GetContents function, where
    the plug-in would not return the expected error code $$-39 (eofErr) when the start parameter was past the end of the file.
  • (macOS) Fixed a problem with the
    Move Folder and
    Copy Folder script steps and the
    TrFile_MoveFolder and
    TrFile_CopyFolder functions, where the plug-in could sometimes return error code $$-122 (badMovErr) incorrectly indicating that the destination folder is inside the source folder even when source and destination where valid.

Other changes and improvements

  • Improved the example file ManageMedia.fmp12, it now properly handles slashes in folder names and file names: slashes are now converted to colons in the FileMaker style path.
  • IMPORTANT The minimum supported macOS version is now macOS 10.14 (Mojave 10.14).

Older release notes

For older release notes please see here.

We offer the following licenses for Troi File Plug-in:

single user, 10-user and 25-user license: these are meant for using the plug-in client-side, on FileMaker Pro (Advanced) and Claris Pro, including with files hosted by FileMaker Server. You need a license for every user that makes calls to the plug-in’s functions.

developer license: this license is meant for FileMaker developers, who want to include the plug-in with their database(s) or custom app(s) and distribute it to their end-users. Each of your end-users may use the plug-in with up to 25 users (contact us if any of your customers has more than 25 users). The number of organizations you distribute the plug-in to and the number of databases or apps you distribute it with are not limited. Works on FileMaker Pro (Advanced) and Claris Pro, including with files hosted by FileMaker Server.
Go to the developer license page for more info.

server/web license: this license registers the plug-in for use on FileMaker Server. It does not provide any client-side functionality. You only need this license if you want to use the plug-in in server-side scripts and in web published databases. It has no user limit.
Go to the server-side plug-ins page for more info.

All licenses work both on macOS and on Windows.

Pricing

New licenses

single user license US $ 109 per user
10-user license US $ 499
25-user license US $ 819
developer license US $ 819
server/web license US $ 499

Upgrades

If you have a license for a previous version, you can buy an upgrade for version 16. If you have a current subscription the upgrade is free. If you bought a license on or after June 1, 2023, the upgrade to version 16 is also free! Note: eligible users have been sent a new v.16 registration code. Contact us if you have not received yours.
If you bought a license before June 1, 2023, you will need to buy an upgrade to use the 16.x version:

single user license upgrade US $ 69 per user
10-user license upgrade US $ 289
25-user license upgrade US $ 429
developer license upgrade US $ 429
server/web license upgrade US $ 289

Below are a few things our users had to say about Troi File Plug-in:

“You know that you have a good product when someone (me) buys it just because of a single function.
In my case, it is TrFile_CreateThumbnail function.
That problem (creating thumbnails) alone has taken me days to try and figure out (MBS = nope, Claris = nope). It does exactly what I need and more. We have an in-house application and need accurate thumbnails on image and PDF files. NOBODY but you gets it right.
I especially like the PDF support, variable bit-depth, and PNG with Alpha channel support. And the simplicity of calling the function means I can easily use it in a calculated field. It is what Filemaker’s GetThumbnail should have been, except on steroids!
Thank you for solving my long running problem.”

John Taylor, CEO, Lead Free Design

“We have used the Troi Plug-In for years and it has worked flawlessly with our Filemaker Pro 11. I have had to reach out several times to purchase a new product or when I required a download for a new computer. I always receive a response within the hour and Troi is amazing in support. Thank you.”
Elaine Phares, Core Hospitality Advisors

“I bought Troi File Plug-in a week ago. Thus far, the plugin has worked absolutely flawlessly! I was using a free plug-in for (if exist) file checks and it occasionally returned incorrect results. Troi has been 100% since the first script run. Seriously, seriously good, clean software! Worth EVERY penny! I have yet to see any malloc/free issues and I’ve not needed a single reboot (whereas the free plug-in required more hands-on admin). The Troi plugin is simply miles and away superior.”
John Czlonka – CTO & Lead Software Architect, Marcon Pipelines, Inc., Calgary, Canada

“I have been using the file plugin for a long time (10 + years) and it has been great. Very easy to use and powerful. Awesome work :)”
Steven Durow, Director of Data Analysis Department, Fargo Public Schools, Fargo ND, USA

“Your customer service is first-class, there are many companies that could learn a lot from you about how to help and advise their clients. I really appreciate it.”
David Fox, WhatHat Ltd.

“I like to thank you for an excellent plugin that has made many of my solutions two steps better than I ever could do in pure FileMaker.”
Johan Hedman, certified FileMaker developer at PositionEtt AB, Sweden

“I really have to say, that Troi File Plug-in is a fantastic extension for Filemaker. Troi opens a wide range of possibilities to improve our database and helps us a lot, to make the photo-handling easier.”
Daniel Stöckli, Switzerland

“We have used a single version of the original Troi File classic plug-in for a several years, converting last week to a 10 user of the v4 version for Filemaker 8+.
I was amazed how quick and easy it was to convert our code, as we use the Troi File functionality in about 40 instances across about 15 scripts.
Troi File has been critical to our ability to extend Filemaker’s functionality to allow us to generate a dynamic website with hundreds of pages made up of complex HTML, XML, Javascript and PHP. It would have been impossible to achieve this result without Troi File, which has proved to be a reliable, consistent, and high performance Plug-in.
You can see the result at www.recruiting.co.nz
Thank you for developing and supporting Troi File so professionally, in the future I’m sure we will use more of your products.”

Paul Royse, www.recruiting.co.nz

“I think this is a fantastic product, it does what it says and I am overwhelmed by the functionality that is offered.”
Peter Cross, read his complete review of Troi File Plug-in on the FMPug website

“I just want to let you know how highly I think of your product, Troi File. I’ve been developing a commercial solution that makes extensive use of the plug-in. It’s easy to use and most importantly, it’s rock solid. I’ve emailed you support questions from time to time and they are always answered with the information to solve the problem.
I cannot praise your product enough.”

Randy Lawrence, Absolute Advantage, Inc.

“Two weeks ago I had a very intensive project; full automation of a data conversion routine involving import and export of thousands of files. The Troi File Plug-In (and your very helpful and timely advice) made it all happen and get delivered on time.
In the past years of doing FileMaker development the most visionary and extensive projects I have been involved in have used Troi Plug-Ins as an essential component. Troi Plug-Ins give the ability to automagically harness system level processes; the simplest way of describing it is a “Wow” factor on the client’s side and a fundamentally elegant, straightforward, and fast scripting process from the developer’s perspective. They put a powerhouse of programming behind FileMaker’s ease of use.
Although I have used them for a wide range of functions I still feel I’ve only scratched the surface of Troi Plug-Ins possible applications. Much thanks for providing an essential tool to FileMaker developers.”

Beatrice Beaubien, i2eye, Toronto, Canada

“Thought you might be interested to hear about something we’ve done using Troi File and Troi Coding.” Read how Noam Sturmwind of Oak Bay Softrends, Inc. manages to update the local files on his client’s workstations by automatically downloading a new copy of the files when the workstation connects to the server. “Not only does this save us a lot of time in re-installing on each workstation, it also means that we don’t have to worry about local files becoming corrupted.” 
Noam Sturmwind, Oak Bay Softrends, Inc., Vancouver, BC, Canada Read the whole story

Troi File to the rescue!
Read how Troi File Plug-in helped Heather McCue of OshVay Associates to migrate thousands of databases for a client and improve another client’s PDF reporting solution:
“Thank you Troi, we could not have managed without you!”

Heather McCue, OshVay Associates, Raleigh, NC Read the whole story

“Troi File Plug-in is a truly great product. I just wish I had looked into it properly when it first came out. If I had known just how powerful this tool was I’d have bought it for all my clients years ago.
Many thanks for a great product”

Peter Makin, Makin Rochard Ltd., United Kingdom

“Don’t leave home without Troi File Plug-in.”
Doug Rowe, Robyte Consulting

“Thank you for your new plug-in!
I bought it in about 10 seconds after I saw it can do exactly what I have been trying to do with Applescript unsuccessfully.
Using Filemaker to organize my cruise reviews, I was looking for a convenient way to export the html to a file.
I had been using the legacy Keyquencer to copy and paste information into a text-editor, and then save the file. To update my html files, this would take about 2 hours!
Your timing could not have been better. Now I can do the same task in about 2 seconds. Well worth the price of the plug-in!
Thanks for all your great work”.

Greg “Pepe” Giese, www.cruisingreview.com

“This plugin has become somewhat integral to many of the solutions I’ve worked on here. It’s a lifesaver!”
Tony Pottrell, Human Engineering

“At the recent suggestion of Dana Perry, I took a look at the Troi File Plug-in in the context of testing for the existence of the Adobe Acrobat Reader program (before launching PDF files from FileMaker). My study of the plug-in confirmed for me the great power of this tool for a variety of other tasks, including the automation of upgrades. I developed a routine with FileMaker and the Troi File Plug-in that I thought might interest other users.” Read more about it here.
Vince Lackner, The Lackner Group, Inc.

“As you might be aware, Brushfire for the Mac originally was written using AppleScript as the glue to pull the components together. When we ported Brushfire to the PC, we decided to use the Troi File plug-in. With Brushfire 1.5 we are using the Troi File plug-in on both Mac and PC versions. Not only was development with the plug-in smoother and easier than the AppleScript development, but the resulting code is more solid and robust. Since the switch to the Troi File plug-in our customer support telephone calls have dropped over 20%. I only wish we had started the project this way! Thank you for providing such an excellent tool.”
Russell Kohn, Chaparral Software & Consulting Services, Inc.

“I can’t thank you enough for this plug in. It is incredible what I have been able to do with FileMaker now that I have found your plug in. It’s simple to understand and I don’t think I could use FileMaker without it. I use it to create thousands of web pages from my FileMaker database very easily.”
Ben Levitan, USA

“Hello, Troi folks!
First, thanks for a great plugin in TroiFile! I’ve been using it to help power a great web site, www.topekamls.com (not available from 4:00 to 4:30 AM CST (GMT-7)). There we are using TroiFile, in concert with some calc fields in FMP, to detect whether a given house listing in our “available properties” FMP database actually has a picture on the hard drive or not, by using the TroiFile GetSize command – if it has a size, it’s got a picture! Saved our bacon for sure, as the database we’re importing the housing data from doesn’t have any kind of field that would otherwise let me know if any given record has an associated picture or not. Many thanks!
We’re also using TroiFile to write lasso-enabled template-based web sites for us. It writes from an FMP database which stores the raw HTML, and then substitues in customer-specific data right before TroiFile writes that html to a file out on the web server. We’ve got it writing about 500, 3-page websites every week for us, at a rate of about 1 complete site in 0.13 seconds on a rather modest AMD K6-2 450. Talk about profitability (and more time for our web designers to do other things)!”

John Krische, Krische Database Systems, Topeka, KS, USA

“From the US side of the pond, I offer my sincere thanks for the work you put into the File Plug-In. I didn’t realize the limitations that are inherent to FMP5 (Win) until I built my solution and found I couldn’t include badly needed features. After being directed to your web site by a fellow developer I downloaded and tested the evaluation copy. Shortly thereafter I purchased the Developer License.
What a Blessing the plug-in has been. It is everything that is advertised and then some. Thanks for an excellent piece of software. If my FMP solution is half as helpful and successful as your File Plug-in, I will be elated.”

Gary Hopps, Carthage, NY, USA

“I am having much success with your “Troi File” Plug-In- Thank You for making such a GREAT Product! Keep up the good work- Your products are an asset to the Filemaker community!”
James L. (Jay) Knight, Jr., Lead Developer Infotraxx Systems, Inc.

“The Troi File Plug-in is a very powerful addition to a FileMaker user’s armoury.”
Richard Dyce, MacUser UK

“This plug-in rocks! Keep up the great work”
Enrique Pardo, edesign graphic studio, Geneva, Switzerland

“I tried Troi’s file plug in and the demo file sucked in a folder full of JPEGs from my Mavica 91. All the plug in needs is a little sound file that makes the sound heard when emptying the contents of a container via a straw….slurrrrrpppp…”
Jack Rodgers, FileMaker developer

“I grabbed this plug-in, took it for a spin and it is totally the tool that I’ve needed for many a moon. AND it has many many other features that have my wheels turning – Thank you for this piece of Magick!”
Fritz Jung, The Witches’ Voice www.witchvox.com

“Thanks for the brilliant software. The Troi File and Text plug-ins keep making my work much easier.”
Eric Smith McGill University Montreal, Quebec, Canada

“FANTASTIC! and Congratulations! I love the File Plug-in and can’t wait to try out these new and exciting features! Great work! Especially the new folder functions: DeleteFolder, SelectFolder!”
Eric S. Pecoraro, Proxiva Corporation

“I started developing with the demo, and it is a joy to be able to do the things you can do with the File plug-in.”
Johan Edenvik, Database and Web Developer of Administrator Finansservice AB, Sweden

“I’am very happy with your plugins they’re better than FileMaker itself !!”
dipl. Ing. HTL Longin Ziegler, www.ismile.ch

We are still collecting more comments. If you have any remarks on the File Plug-in please send us your comments. Thanks!

Click images to enlarge

Related pages

File Plug-in online help
Function and script step reference.

File Plug-in FAQ
See a list of Frequently Asked Questions about this plug-in.

Using SMB styled paths with Troi File Plug-in
Learn how to use SMB styled paths as parameters for any file or folder path and how to add a port number too if the SMB server is available on a different port.

Troi File Plug-in compared to file functions in FileMaker 18
Read a more detailed comparison between native file manipulation functions in FileMaker 18 and Troi File Plug-in.

Media management
Some ideas how Troi File Plug-in can help you manage images, movies and other files.

Get icons into FileMaker Pro
How to easily add the icons of files on your disk to your FileMaker app.

Selecting files in FileMaker
How to let a user select a file on disk, for example to get the contents into FileMaker.

Files and folders and FileMaker
Easily see which files or folders are in a folder.

File Plug-in conversion from FileMaker Pro 6
(Older) information on how to convert databases which use Troi File from FileMaker Pro 6 to FileMaker Pro 7 and later.

Manipulate any information on your disk directly from within FileMaker!