Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question
    
Could you clarify? DO you only want to unzip if the .zip has changed or do you want to unzip only the files in the .zip that have changed? Also, what OS are you using? –  Puddingfox May 23 '10 at 21:06
    
I update it. Thanks. –  R S May 23 '10 at 21:25

2 Answers 2

up vote 1 down vote accepted

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)."

share|improve this answer

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.

share|improve this answer

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.