The Mac OS may have evolved dramatically over the years, but one thing hasn’t changed much: the process of managing files. Nearly 30 years into the Mac era, most of us still use the old files-inside-folders model for organizing our hard drives. We still drag and drop files from one folder to another, and we still assiduously follow our own file-naming conventions.
Which is why many of us value Hazel so highly. It’s a utility that monitors folders on your Mac for events that you define—a file being added or modified, for example. When particular events take place, Hazel automatically initiates actions that you’ve defined, such as moving the file to another folder, renaming it, or changing its label. I praised Hazel 2 ( ) as one of the handiest apps on my hard drive, and Hazel 3 makes it even handier.
As in previous editions, Hazel 3 is a System Preferences pane. Open it up and you see straightforward interface: On the left there’s a list of folders that the utility is monitoring, on the right is a list of the rules that you’ve defined for the selected folder. To start monitoring a folder, you click the plus-sign (+) button and choose the folder.
Creating rules is similarly straightforward, and if you’ve ever created a rule in Mail, the process will feel familiar. Each rule has two components, conditions and actions. For conditions, you choose from a pop-up list of attributes: Name, Kind, Date Added, and many more. If you select Other from that menu, you can choose from almost any file- or folder-attribute that OS X tracks. Next to that is a pop-up list of operators (is, contains, is less than, and the like); the list changes depending on the attribute. Finally you have a test field, where you define the value(s) for matching the attribute and operator (Date Added is Today, for example).
Once you’ve defined your conditions, you specify the actions Hazel will perform when those conditions are met. Actions can vary from the basic (Move, Rename, Set Color Label) to the not-so-basic (Run AppleScript, Run Automator Workflow, Run Shell Script). And not only can you use Hazel to keep an eye on folders you already use, you can also use it to create special folders that do useful things when you drag files into them.
Hazel 3 doesn’t really change any of these basics, but it does tweak them and make them more powerful. One of the most-welcome improvements is the capability to nest conditions. If you’ve created a smart folder in the Finder or a smart playlist in iTunes lately, you know how handy nested conditions can be—by combining multiple, hierarchical And, Or, and Not statements, you can make Hazel match files with incredible precision and flexibility. (For example, Name contains “Hazel” or “review,” added to the folder today or last week but not last Friday or Tuesday, and item’s contents contain the word “incredible.”) You can also specify custom conditions via AppleScript or shell scripts—the script just has to return the value True—which enables you to test against even more file and folder attributes and apply even fancier conditional logic.
Hazel 3 also provides better tools for matching patterns, so it can, say, watch for files whose names consist of three letters followed by three numbers. And the new version adds a Current Time condition, so you can (finally) have Hazel run a rule at a particular time—for example, If Current Time is 5:00 p.m., then do this.
The new Hazel also lets you do some nifty new things to matched files and folders. There’s now an Import Into Aperture action, as well as a Sync action that synchronizes a file or folder—in one direction—with another location. The Sort Into Subfolders action now includes options for deleting, renaming, or replacing duplicates; and the Open and Reveal actions now give you the option to make the associated application or the Finder the frontmost window.
One of my favorite new features in the Actions section is that if you’re renaming a selected file (or adding a comment to it), you can build the replacement text using tokens, similar to the ones Finder and Mail searches use to represent particular attributes—for example, filename and sequential numbers. Those tokens are easy to drag around and rearrange, making it easier to create the text you want. They’re also intelligent—if you add the Name token, for example, you can opt to change the case of the text while you’re at it. You can also use AppleScript to create custom tokens of your own.
As before, Hazel also includes some tools for managing your Trash: You can force the Trash to delete items that have been in the Trash for a specified period of time, or whenever the Trash reaches a certain size. And Hazel still has its AppSweep tool which, when you delete an app, finds support files that you might want to get rid of, too.
Noodlesoft has made some nice tweaks to the program’s interface in version 3. You can now reorder conditions and actions up and down in the list by dragging them. (Execution order is often really important.) You can still preview folders, to see which files and folders within them will be acted on by which rules, but now that preview tool gets its own button, making it much easier to access. If you hover the cursor over a given file or folder in that preview window, a popover appears showing you which of that file’s or folder’s attributes match your rules. That said, there are still some minor interface bugs here and there, such as buttons that disappear when windows expand.
Hazel 3 also includes a miscellany of fixes. For example, the app should now behave better when it’s dealing with external drives: If a rule fails because the destination drive is unavailable, Hazel won’t keep retrying over and over; it will instead wait until the drive comes online, then run the action. (For example, my Time Machine drive occasionally decides to stop working; I’ve long had a Hazel rule that keeps an eye on the drive and, if it hasn’t changed in the past 24 hours, gives me a Growl alert. In Hazel 3, when I take my laptop home, that rule is suspended until I’m back in the office.)
Noodlesoft’s change log lists more than fifty other tweaks and fixes since I reviewed Hazel 2.3. But those updates don’t change the essential nature of the app—they just make it better. As with version 2, Hazel 3 sometimes requires some trial and error before it’ll do what you want. (Tip: you don’t have to do everything in one rule; a lot of the time, it’s easier to set up a series of rules.) And learning to work with files in multiple levels of subfolders is tricky. But if you invest the up-front time Hazel sometimes demands, you’ll get a neater, better organized drive with little to no further effort.
Editor’s note, 03/14/12: With a recent update (Hazel 3.0.2), Noodlesoft seems to have patched the minor interface bugs noted above.