我使用右键单击然后压缩来压缩名为 m1 的文件夹并得到 m1.zip 文件夹,但是当我再次尝试提取它时,我得到了。
Archive: m1.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.
note: m1.zip may be a plain executable, not an archive
unzip: cannot find zipfile directory in one of m1.zip or
m1.zip.zip, and cannot find m1.zip.ZIP, period.
答案1
问题正如所述。Unzip 无法找到指示存档结尾的代码行,因此:
档案已损坏。
它不是一个.zip 文件。
您可以尝试这个解决方案:-
jar xvf m1.zip
脚步:
- 将文件拖放到终端窗口。
- 使用键盘箭头导航到终端中的行首
- 在文件名前输入 jar xvf,记住在文件名开头前留出空格。
- 拿一杯啤酒,观看终端在提取文件时发挥它的魔力。
新文件所在的位置各不相同,但找到它们的最简单方法是单击 Finder 中的计算机名称,它会在所有文件的顶部显示最新的活动。
您可以参考这。
如果 jar 命令不可用,您可以通过在终端中粘贴以下内容来安装 fastjar:
sudo apt-get install fastjar
答案2
我以前遇到过类似的问题,并且找到了一种可能有用的解决方法。以下是我所做的:
首先,我怀疑该文件可能不是 ZIP 存档,而是一个错误地以 .zip 扩展名命名的 gzip 文件。我使用 gzip 命令解压该文件:
gzip m1.zip
此命令将文件转换为 gzip 压缩文件 (m1.zip.gz)。然后,我使用 tar 命令提取 gzip 压缩文件:
tar -xvzf m1.zip.gz #dont use unzip or gunzip as it return same zip file
此步骤成功提取了档案的内容。此外,在提取过程中,我注意到生成了一个 md5sum.txt 文件。该文件包含提取文件的 MD5 校验和。
md5sum extracted_file.gz #lynux
md5 extracted_file.gz #macos
我将此命令的输出与 md5sum.txt 中提供的校验和进行了匹配。如果它们匹配,则表明文件未损坏。此外,还可以使用 unzip 命令的 -t 选项测试原始 zip 文件的完整性:
unzip -t m1.zip
此命令测试 zip 文件的完整性。如果测试通过且没有错误,则表明文件未损坏。此方法帮助我成功地从可能已损坏的存档中提取文件。希望它也能帮到你!