33

I am getting the following error when unzipping a file

unzip user_file_batch1.csv.zip

Archive:  user_file_batch1.csv
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.

unzip:  cannot find zipfile directory in one of user_file_batch1.csv or
        user_file_batch1.csv.zip, and cannot find user_file_batch1.csv.ZIP, period.

I believe this file is not corrupted or a part of multi archive file as using Archive Utility I was able to unzip it. I have tried to rename it to .zip but did not work.

The output of type file user_file_batch1.csv.zip was

user_file_batch1.csv.zip: uuencoded or xxencoded text
3
  • 3
    type file user_file_batch1.csv.zip — tell us what the output is. Jun 13, 2014 at 16:47
  • The output was user_file_batch1.csv.zip: uuencoded or xxencoded text Jun 13, 2014 at 19:14
  • 2
    It is not a zip, you need to uudecode it. Then use file to see what you have. (Look at @giles's answer). Jun 16, 2014 at 8:42

6 Answers 6

24

Your file has a .zip name, but is not in zip format. Renaming a file doesn't change its content, and in particular doesn't magically transform it into a different format.

(Alternatively, the same error could happen with an incomplete zip file — but since that Archive Utility worked, this isn't the case.)

Run file user_file_batch1.csv.zip to see what type of file this is. It's presumably some other type of archive that Archive Utility understands.

user_file_batch1.csv.zip: uuencoded or xxencoded text

Run the following command:

uudecode user_file_batch1.csv.zip

This creates a file whose name is indicated in user_file_batch1.csv.zip. If you want to pick a different output file name:

uudecode -o user_file_batch1.csv.decoded user_file_batch1.csv.zip

The output file at this stage may, itself, be an archive. (Perhaps it's a zip, in fact.) Run the file utility again on this file to see what it is. If you choose the automatic file name, it might give a clue.

3
  • On Mac, file /users/an/zz.zip says """Zip archive data, at least v1.0 to extract""". But trying to unzip, it says """Archive: /users/an/zz.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. Archive: /users/an/zz.ZIP End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes
    – Pacerier
    Nov 26, 2017 at 16:49
  • one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive."""
    – Pacerier
    Nov 26, 2017 at 16:49
  • @Pacerier So? It's either a damaged zip, or a zip that uses some feature that your version of unzip doesn't support, or a part of a multi-part zip, or something that was never meant to be a zip but happens to look like one superficially. It's impossible to tell without knowing what's in the file. Nov 26, 2017 at 20:13
23

I had a similar problem when doing unzip archive.zip, giving me

Archive: archive.zip
warning [archive.zip]: ... extra bytes at beginning or within zipfile
(attempting to process anyway)
error [archive.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)

Doing file archive.zip gave me

Zip archive data

Using 7z e archive.zip worked.

3
  • 2
    This isn't the answer to the OP, but it IS the answer to mine :) Thanks, I didn't know that 7zip was available in Linux.
    – Morlock
    May 25, 2017 at 13:34
  • 1
    this works ! I wish thre was a way to tell that this is a 7z archive, rather than a regular zip. file does not indicate anything Sep 14, 2021 at 15:07
  • 3
    7z x archive.zip might be a better option
    – Emre
    Aug 9, 2022 at 10:23
5

Go to your zip location then unzip by this command

jar xvf yourzipfile.zip
1
  • My sqlworkbench zip file was corrupted due to improper shutdown. This helped me to recover at least 6 tabs out of 9. Thanks.
    – jimy
    Oct 13, 2017 at 6:34
4

I had the same problem with unzip.

Then I tried to extract it with 7z and jar without any luck. Later it turned out that the it was a quiet old p7zip version.

I installed a new one from source and that solved the issue. A simple:

7z x archive.zip

extracted it out correctly.

1
  • thanks. my problem was fixed by installing p7zip-full instead of p7zip
    – Jayen
    Apr 8 at 0:18
0

if you want to copy the text content in the zip file just gzip the file for file format and for listing the content use zcat

# unzip ADUReport.zip
Archive:  ADUReport.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of ADUReport.zip or
        ADUReport.zip.zip, and cannot find ADUReport.zip.ZIP, period.
 #gunzip ADUReport.zip
gunzip: ADUReport.zip: unknown suffix -- ignored
 zcat ADUReport.zip

#zcat: ADUReport.zip: not in gzip format
#gzip ADUReport.zip
#l
 #zcat ADUReport.zip.gz
1
  • 1
    Apart from that this doesn't answer the OPs question, explaining why gzip-ping a file and then zcat-ting instead of using cat on the original file helps (unless you are paid by the hour).
    – Anthon
    Feb 16, 2016 at 8:22
0

Got this in someones script when it unpacks a bunch on zips like that

unzip -o -q 'prefix*'

and there where files with the same prefix inside zips.

Fixed with

unzip -o -q 'prefix*.zip'

You must log in to answer this question.

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