The ArchiveTool is used to create or extract
.ezArchive files. Archives are similar to zip files, they contain all the files in a folder, using compression. ezArchive files can be mounted at runtime as data directories.
The internal structure of ezArchives is optimized to make mounting as a data directory extremely efficient. The files are memory mapped and file lookups are faster than for regular folders. Each file in the archive may use compression or not, depending on whether it would make sense for the particular file. Different compression algorithms are possible, though the main compression used is zstd which yields good compression and is extremely fast to decode.
The ArchiveTool is a command line tool.
The most convenient way to use it, is to pass a single path as the only argument:
When the path points to a folder, it will compress the folder and store the ezArchive file next to it. In the example above:
When the path points to an existing archive, the tool will extract the data to a folder next to the file. In the example above:
The following options allow you to be more specific:
-pack and -unpack can take multiple inputs to either aggregate multiple folders into one archive (pack) or to unpack multiple archives at the same time.
-out specifies the target to pack or unpack things to. For packing mode it has to be a file. The file will be overwritten, if it already exists. For unpacking the target should be a folder (may or may not exist) into which the archives get extracted.
If no -out is specified, it is determined to be where the input file is located.
If neither -pack nor -unpack is specified, the mode is detected automatically from the list of inputs:
- If all inputs are folders, mode is going to be ‘pack’.
- If all inputs are files, mode is going to be ‘unpack’.
Pack all data in “C:\Stuff” into “C:\Stuff.ezArchive”:
Pack all data in “C:\Stuff” into “C:\MyStuff.ezArchive”:
ArchiveTool.exe "C:\Stuff" -out "C:\MyStuff.ezArchive"
Unpack all data from the archive into “C:\Stuff”
Unpack all data from the archive into “C:\MyStuff”
ArchiveTool.exe "C:\Stuff.ezArchive" -out "C:\MyStuff"