为什么在解压 zip 文件时,我会在同一路径下得到两个同名的文件?

为什么在解压 zip 文件时,我会在同一路径下得到两个同名的文件?

我正在解压一个 zip 文件(自解压,但这可能无关紧要),对于一些文件,我收到一个对话框,询问我是否要用即将解压的文件替换已解压的文件。乍一看,我不明白 zip 文件怎么会在同一位置多次包含同一个文件。然后我使用 7zip(或任何工具)浏览到有问题的文件,发现了以下内容:

在此处输入图片描述

不同之处在于区块编号。这里究竟发生了什么?

答案1

是的,ZIP 文件格式允许多个文件使用相同的名称。ZIP 中的文件实际上不在目录中,而只是有一个长名称,可选地包括路径。文件通过有效地将文件首尾连接起来添加到 ZIP 中。ZIP 格式中同义词唯一会造成问题的地方是目录,其中后一个文件可能替换了前一个文件。但是,当提取整个 ZIP 文件时(而不是提取单个文件),一般方法是忽略目录,只按文件在 ZIP 中的出现顺序提取文件。

当然,显示的图像是 ZIP 文件内容,而不是 Windows 目录。

答案2

是的。.zip 文件可以包含两次相同的文件。这可以使用 zip 工具的“添加到存档”功能来实现。默认情况下,提取时后一个文件会覆盖任何先前的文件,因为这通常是所需的行为。

此外,当提取到不区分大小写的文件系统(Windows 或 Mac OS)时,仅在文件名/路径大小写上不同的文件将被视为相同。

答案3

看起来您正在使用 Windows,它将两个名称大小写不同的文件视为相同的文件名。

您的档案可能是在区分大小写的文件系统(例如大多数 Linux)上创建的,并且两个文件的大小写不同(例如:ENTRIES、Entries、entries)。

如果您查看输出,这些文件具有相同的大小、相同的日期、相同的 CRC,因此这些文件是相同的,您可以安全地用另一个文件覆盖一个文件。在处理这些文件时,可能有人将其以不同的大小写复制为本地临时备份。块号表示它们存储在 zip 文件中的不同位置,这应该是显而易见的。

答案4

您不能在同一路径中有两个相同的文件名。您是否检查过系统是否隐藏了扩展名?这可能是两者之间的可能差异。也许其中一个是备份文件。

相关内容