windows - Any good free/open source zip repair tool?

23
2014-04
  • ukanth

    Is there any simple & freeware program to fix corrupted zip files for windows platform ? I've lot of corrupted zip files and would like to recover some of the files from it

  • Answers
  • 8088

    WinRar repairs damaged archives.

    WinRar is shareware, but available as an unlimited trial (if you don't register and pay, the program simply "nags", it doesn't stop working).

    There's also DiskInternals ZIP Repair

    DiskInternals ZIP Repair has built-in extraction features that allow it to extract partially damaged and restored files.

    alt text

  • avelldiroll

    I have no idea if it is available on windows, but you did ask for an open source answer (that's probably available under cygwin though).

    You might use the zip command itself (at least under linux):

    If only some bits are missing (incomplete download):

    zip -F your_corrupted_zip_file.zip
    

    If the archive's data is damaged (wrong data) (this command is less reliable):

    zip -FF your_corrupted_zip_file.zip
    

  • Related Question

    windows - Are there any free command line based zip utility?
  • Magnus

    I need to schedule a command line to zip contents of a couple of folders. Are there any free command line based utility that can handle multi volumes?

    (7Zip is disqualified, the -v parameter is not implemented yet)

    EDIT: 7Zip does indeed work with the -v parameter if used as described in the help file, and not according to the .exe's help output.

    EDIT2: On closer inspection, there is something strange going on, and here's the reason I got the "Not implemented" error message: (On a Windows 2008 Server x64 with U.S. locale):

    @ECHO OFF
    SET MYFILENAME=Backup-IIs-%date:~-4,4%-%date:~-10,2%-%date:~-7,2%.7z
    ECHO %MYFILENAME%
    "c:\program files\7-zip\7z" a "c:\backup\%MYFILENAME%" c:\inetpub\*.* -r -v49m
    

    Result: System Error: Not implemented.

    Changing it to (notice dot instead of dash in filename):

    @ECHO OFF
    SET MYFILENAME=Backup.IIs-%date:~-4,4%-%date:~-10,2%-%date:~-7,2%.7z
    ECHO %MYFILENAME%
    "c:\program files\7-zip\7z" a "c:\backup\%MYFILENAME%" c:\inetpub\*.* -r -v49m
    

    And 7Zip is happy.... Can someone explain?


  • Related Answers
  • nik

    For the record, '-v' option in 7-zip command line is used for creating volumes.
    Here is a short description on Creating Multi-volume Archives with 7-zip.

    Can you please explain what you mean by
    "7Zip is disqualified, the -v parameter is not implemented yet"?

  • Terje Mikal

    Most of the GNU command-line utilities are ported to windows, including zip:

    http://gnuwin32.sourceforge.net/packages/zip.htm

    For multi-volumes you must post-process the archive with zipsplit (included in same package).

  • alpha1

    Well for linux you can tar and gz zip folders via command line, but i'm going to assume your on windows?

  • David Spillett

    You can pipe the output of any compressor that supports writing to stdout, such as tar with either its gzip or bzip2 options, through the relatively standard split command. This will compress and split the result without having an intermediate (unsplit) archive file

    You can unpack the result by cating the files together and piping that through to the decompresser.

    This will output all the files in one go (or use all the files in one go for the decompression step) - so if you are looking for something that supports prompting you to put in the next floppy/cd/dvd/... disk in at each step this is no good to you.

    There are many ports of these utilities available for Windows environments.

  • Mahesh

    Zipgenius allows command line options. So you can extract and compress archives from command line.

  • Seasoned Advice (cooking)

    After spending some time with the problem myself it turns out that having a .7z as part of your archive name will be the problem.

    When creating volumes 7Zip will name them .001, .002, etc. and already naming your archive as .7z seems to cause it a bit of a headache.

    It's a very poor error message, but a simple solution.