解压缩文件时出错


17

解压缩文件时出现以下错误

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.

我相信此文件没有损坏,也不是多存档文件的一部分,因为使用Archive Utility可以将其解压缩。我试图将其重命名为,.zip但没有用。

的输出type file user_file_batch1.csv.zip

user_file_batch1.csv.zip: uuencoded or xxencoded text

3
类型file user_file_batch1.csv.zip-告诉我们输出是什么。
ctrl-alt-delor 2014年

输出为user_file_batch1.csv.zip:uuencoded或xxencoded文本
user1711845 2014年

1
它不是zip,您需要对其进行uudecode。然后使用文件查看您拥有什么。(看@giles的答案)。
ctrl-alt-delor 2014年

Answers:


17

您的文件具有.zip名称,但不是zip格式。重命名文件不会更改其内容,特别是不会神奇地将其转换为其他格式。

(或者,不完整的zip文件也可能发生相同的错误-但由于该Archive Utility起作用,所以不是这种情况。)

运行file user_file_batch1.csv.zip以查看这是什么类型的文件。大概是Archive Utility可以理解的某种其他类型的存档。

user_file_batch1.csv.zip:uuencoded或xxencoded的文本

运行以下命令:

uudecode user_file_batch1.csv.zip

这将创建一个名称以表示的文件user_file_batch1.csv.zip。如果要选择其他输出文件名:

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

此阶段的输出文件本身可以是存档。(实际上,这也许是一个zip。)file在此文件上再次运行该实用程序,以查看它是什么。如果选择自动文件名,则可能会提示。


在Mac上,file /users/an/zz.zip说“”“”压缩文件数据,至少要提取v1.0才能“”“。但是尝试解压缩时,它显示为“”“存档:/users/an/zz.zip找不到中央目录结尾签名。此文件不是zipfile,或者它构成了多部分存档的一个磁盘。在后一种情况下,将在此存档的最后一个磁盘上找到中央目录和zipfile注释存档:/users/an/zz.ZIP找不到中央目录末尾签名。不是zipfile,或者由它构成
Pacerier

多部分存档的一个磁盘。在后一种情况下,可以在此存档的最后一个磁盘上找到中央目录和zipfile注释。“”“
Pacerier

@Pacerier那么?它要么是损坏的zip,要么是使用了您的unzip版本不支持的某些功能的zip,或者是多部分zip的一部分,或者从不应该是zip,但恰好看起来像是一个zip。 。不知道文件中的内容是无法分辨的。
吉尔斯(Gilles)'所以

9

unzip archive.zip给我的时候我也有类似的问题

存档:archive.zip
警告[archive.zip]:...开头或zipfile内有多余的字节
(无论如何都试图处理)
错误[archive.zip]:找不到中央目录的开头;
zip文件已损坏。
(请检查您是否已在
适当的BINARY模式下传输或创建了zip文件,并且已正确编译了UnZip)

file archive.zip给我

邮编存档数据

使用7z e archive.zip有效。


这不是OP的答案,而是我的答案:)谢谢,我不知道Linux中有7zip。
莫洛克

2

我在解压缩时遇到了同样的问题。

然后我尝试用7z和jar提取它,但没有任何运气。后来发现它是一个安静的旧p7zip版本。

我从源代码安装了一个新的,就解决了这个问题。一个简单的:

7z x archive.zip

正确提取出来。


1

转到您的zip位置,然后通过此命令解压缩

jar xvf yourzipfile.zip

由于不正确的关机,我的sqlworkbench zip文件已损坏。这帮助我从9个标签中至少恢复了6个标签。谢谢。
吉米

0

如果要复制zip文件中的文本内容,只需gzip该文件以获取文件格式并列出内容,请使用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

除此之外,这无法回答OP的问题,解释了为什么-ping gzip文件然后zcat-ting而不是cat在原始文件上使用会有所帮助(除非您按小时付费)。
Anthon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.