12

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?

newyuppie
  • 255

3 Answers3

11

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.

Olli
  • 7,739
7

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
    + \ file.zip

the contents of file.zip 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.

6

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

derio
  • 161