As Mac users (and friends of Mac users) will know, Mac OS loves splattering hidden metadata files and folders throughout your directory structure. For example, open up a terminal and do an ‘ls -a’ of one of your directories, and you’ll probably see a .DS_Store file in there.
This is all very well when browsing the folder on your Mac, because Mac OS X sensibly hides these from view in the Finder. However try tarring or zipping that folder, sending it across to a Windows machine, then unzipping/untarring the archive file in Windows. You’ll see the .DS_Store file sitting there in Windows Explorer, in plain view. Even worse, if you zip a folder using Mac OS X’s “Create Archive” option, it creates another Mac-specific __MACOSX folder in there too, further cluttering up the archive for non-Mac users.
Naturally, Windows and Linux have no use for such files and folders; all they do is confuse matters for the poor users. This can be a bit of a problem when distributing zip files to hundreds of people, like we do on PageKits.com. Of course, it’s easy enough to write a shell script to recursively scan a folder and remove all these Mac-specific files and folders prior to archiving, but it’s still a bit of a pain.
So I was pretty chuffed to discover CleanArchiver the other day. It’s a nifty little archiving utility that removes those pesky Mac-specific items as it archives. All you have to do is drag your folder to the CleanArchiver icon in the dock, and it does the rest. It can create gzip, bzip2, zip and dmg files, and you can tell it which Mac-specific things to remove and which to leave in. Perfect for zipping up folders to send to your non-Mac-using buddies.