Browse the docs

Zip a file or folder

Compresses a file or folder into a zip next to it, or in a folder you choose.

Archive path as a zip

Details #

Makes a zip the way Finder's Compress does. The zip is called after the file (Report.pdf.zip) unless name says otherwise.

Parameters #

ParameterTypeRequiredValuesWhat it does
countertext
deleteOriginalany valueMove the original to the Trash after zipping.
destinationtext
intotextThe variable that receives the zip's path.
nametextThe zip's name, as a template. .zip is added when missing.
overwritetextWhat to do when the name is taken: rename (the default; name 2.ext), replace or skip.
pathtextThe file or folder. Optional when a file trigger fired.
sourcetext
totextThe folder for the zip. The file's own folder by default.

Every step also accepts label, onFailure, timeout and dryRunSafe.

Examples #

Zip a file or folder
Do
  1. Archive “Project” as a zip
Open in Switchboard to try it

Gotchas #

  • A folder is zipped with the folder itself inside.

  • In a dry run it changes nothing and says what it would do.

Names and tokens #

Wherever a name or folder is a template, {{ }} works as everywhere, and these single-brace tokens are filled in by the step itself:

TokenGives
{name}the file name without its extension
{ext}the extension, without the dot
{fullname}the whole file name
{parent}the name of the folder it is in
{added:yyyy-MM-dd}the date the file was added to its folder (Finder's Date Added), in the format after the colon
{created:…} {modified:…} {opened:…}the creation, modification and last-opened dates
{now:…}today
{counter:3}a number that goes up by one each time this step runs, padded to 3 digits

The counter is kept in shared.hazel.counter.<counter>; counter names it (the default is this macro and step), so two steps that share a counter share the numbers. It survives restarts. Write the rest of a name with {{file.name}}, {{file.ext}} and the other file fields when a file trigger fired.

See also #

Unzip an archive, Move or sort a file