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


Compresses a text into a new archive.

Component Version macOS Windows Linux Server iOS SDK
Archive 14.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Archive.CompressText"; Format; Filter; Destination; FileName; Text; Encoding { ; Options; Password } )   More


Parameter Description Example Flags
Format The format to use.
Formats: ar, arbsd, argnu, arsvr4, bsdtar, cd9660, cpio, gnutar, iso, iso9660, mtree, mtree-classic, newc, odc, oldtar, pax, paxr, posix, raw, rpax, shar, shardump, ustar, v7tar, v7, warc, xar, zip.
Filter The filter to use.
For zip format can be store or deflate.
Filters: b64encode, bzip2, compress, grzip, gzip, lrzip, lz4, lzip, lzma, lzop, uuencode, xz, zstd.

Not all filters can be combined with all formats.
Destination The native file path to the destination archive.
Or file name for container.
FileName The file name or path to use for the entry in the archive. "export.xml"
Text The text to compress.
We use UTF-8 encoding.
"Hello World"
Encoding The text encoding for text parameter.
Default is UTF-8.
Options The options to pass to writer.
This is a comma-separated list of options. Option names can be prefixed with module name.

Sample options:
"zip:encryption=zipcrypt" Optional
Password The passphrase to use for password protection. "secret" Optional


Returns container or error.


Compresses a text into a new archive.
Supports various compression algorithms and encryption.


Compress some text to zip file:

Set Variable [ $Container; Value: MBS( "Archive.CompressText"; "zip"; "deflate"; ""; $text; "compression-level=9") ]

Compress XML and add to email:

# get some XML
Set Variable [ $XML ; Value: "<test>Hello</test>" ]
# Compress it
Set Variable [ $CompressedXML ; Value: MBS( "Archive.CompressText"; "zip"; "deflate"; ""; "export.xml"; $xml; "UTF-8"; "compression-level=9") ]
# now add to email
Set Variable [ $email ; Value: MBS( "SendMail.CreateEmail") ]
Set Variable [ $r ; Value: MBS( "SendMail.AddAttachmentContainer"; $Email; $CompressedXML; ""; "application/zip" ) ]
Set Variable [ $r ; Value: MBS( "SendMail.SetPlainText"; $email; "Dear " & Contacts::FullName & ¶ & ¶ & "Attached you find the export from " & Get(CurrentDate ) & ¶ & ¶ & "Greetings" & ¶ & "Your FileMaker Server") ]

Compress text and use Windows ANSI encoding for both the text in the text file and the file name encoding:

MBS( "Archive.CompressText"; "zip"; "deflate"; "/Users/cs/Desktop/"; "hällo.txt"; "Hällo Text"; "Windows"; "hdrcharset=cp1252")

See also

Release notes

Blog Entries

This function checks for a license.

Created 9th June 2024, last changed 4th July 2024

Archive.CompressContainer - Archive.Content