Unzip only updated files

Is there a way to unzip a zip file into a directory, but only do so for updates files (I mean the compressed files inside the zip)? I have a huge directory of files there, and only about 20% are different.

Preferably using command line, but it's optional. I use Windows XP.

Thanks.


With the winzip commandline addon, you can use the -n option:

-n

Unzip only newer files. This option updates existing files if the archived file is newer and creates new ones if they do not already exist.

wzunzip -n "c:\my documents\spring2007.zip" c:\semesters\spring05  

This example will extract, from c:\my documents\spring2007.zip, ONLY those files that are newer than the files that currently exist in c:\semesters\spring05 OR that do not already exist in the c:\semesters\spring05 folder.

You might want to combine it with the -o option - "Overwrite existing files without a prompt (automatically reply "Yes" to each overwrite prompt)."


Heres an idea for starters that someone else will need to finish:

  1. Find a zip program that list the files in a compressed archived.
  2. Have that list all the files and the timestamp
  3. Use a scripting language (python,batch,whatever) to compare the modified time of those files with the files in the directory
  4. Have the scripting language generate the arguments to add those files into the archive

Alternatively, break down your archive folder.