Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have several folders, and within each folder, there are ZIP files. I want to run a command line order to recursively go through every folder and extract in place every archived file that it finds, then move on to the next folder. Is this even possible?

share|improve this question
What should it do if there are multiple ZIP files in the same folder? Should it extract them into subfolders or extract their contents into the same folder (as the ZIP files), and if so, should it overwrite or ignore dupliates? – Synetech Feb 21 '11 at 2:38
What OS are you using? – Dennis Williamson Feb 21 '11 at 2:39
The best way to do this might be to write a little script to do it. What Operating System are you on? – Leif Feb 21 '11 at 2:41
Actually, no script is necessary, it should be doable with a single FOR command; the specific 7-zip options depend on the requirements. – Synetech Feb 21 '11 at 2:50
up vote 7 down vote accepted

If you are using Linux, you can use

find -iname \*.zip -exec unzip {} \;

(after installing unzip)

In Windows, you can use

FOR /F "usebackq" %a in (`DIR /s /b *.zip`) do 7z.exe e %a

Assuming that you have 7z.exe in your PATH. Run that command in folder where you want to (recursively) unzip all zip files.

share|improve this answer

Use the open source Multi Unpacker tool for Windows. It requires you having installed WinRAR, but other than that it's actually pretty versatile...

Multi Unpacker

share|improve this answer

With 7-Zip you can issue the following command to extract all files to your current base folder:

7z e -an -air!*.zip -r

So if you have

+ \ folder
    + \

the contents of will end up in . with all archive folders removed.

Or use the x option to extract including the subfolders of the archive.

You may be able to play with the -o option to have each zip file extracted in the subfolder it's in, though I often find I need all files to be put into one location instead.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .