Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I've found that the command line unzip tool doesn't gracefully handle some of the files I'm unzipping: it makes a bunch of junk directories, and creates files whose resource forks aren't found. (Perhaps they were created strangely.)

$ unzip -d NEW-DIRECTORY ZIP

Anyways, using Archive Utility is a start, because I can run the following and it is close (and it doesn't mess up my files):

$ open -a "Archive Utility" ZIP

But this does not allow me to specify a new directory for the contents!! It automatically puts them in the current directory. :P

What are my alternatives?

share|improve this question
add comment

4 Answers

up vote 6 down vote accepted

The Unarchiver has a beta version of their command line utility available on their downloads page.

share|improve this answer
1  
Working well in my scripting, thank you! –  Kevin Cantu Nov 8 '10 at 18:46
1  
+1 for suggesting unar without using it's name. ;) –  Slomojo Jan 29 '11 at 9:37
add comment

"The Unarchiver" is a great tool, and I highly recommend it, both the GUI and the CLI tools.

That said, my 'unzip' command is

ditto -xk foo.zip target_dir

where 'target_dir' is the directory where I want the files to appear (and it can be '.' if you want them to unzip right there).

Note that 'target_dir' will be created if needed.

Also note that ditto does not mind overwriting files, so use with care.

ditto on Mac OS X is designed to preserve resource forks, etc. so it is my preferred method of unzipping files, especially because it ships with OS X by default.

share|improve this answer
add comment

you can use also:

and

share|improve this answer
add comment

Springy is a very versatile unarchiver. Shareware - and worth it to me.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.