Estou extraindo um zip (auto-extraível, mas isso provavelmente não importa) e para alguns arquivos estou recebendo uma caixa de diálogo perguntando se desejo substituir um arquivo que já foi extraído por um arquivo que está prestes a ser extraído. ser extraído. À primeira vista não entendi como um zip poderia conter o mesmo arquivo no mesmo lugar mais de uma vez. Em seguida, naveguei até o arquivo em questão usando 7zip (ou qualquer ferramenta) e encontrei isto:
A diferença está no número do bloco. O que realmente está acontecendo aqui?
Responder1
Sim, o formato de arquivo ZIP permite vários arquivos com o mesmo nome. Os arquivos em um ZIP não estão realmente em diretórios, mas simplesmente têm um nome longo queopcionalmente inclui o caminho. E os arquivos são adicionados ao ZIP concatenando-os efetivamente de ponta a ponta. O único lugar onde os sinônimos causam problemas no formato ZIP é no diretório, onde presumivelmente o arquivo posterior substitui o anterior. Mas quando um arquivo ZIP inteiro é extraído (em vez de extrair arquivos individuais), a abordagem geral é ignorar o diretório e apenas extrair os arquivos na ordem em que aparecem no ZIP.
A imagem mostrada é, obviamente, do conteúdo do arquivo ZIP, não de um diretório do Windows.
Responder2
Sim. Arquivos .zip PODEM conter o mesmo arquivo duas vezes. Isso pode ser feito usando a função "adicionar ao arquivo" da sua ferramenta zip. Por padrão, um arquivo posterior substitui qualquer arquivo anterior durante a extração, pois esse geralmente é o comportamento desejado.
Além disso, os arquivos que diferem apenas no nome do arquivo/caminho são considerados idênticos ao extrair para um sistema de arquivos que não diferencia maiúsculas de minúsculas (Windows ou Mac OS).
Responder3
Parece que você está usando o Windows, que considerou dois arquivos com nomes diferentes apenas por caso como sendo o mesmo nome de arquivo.
Pode ser que o seu arquivo tenha sido criado em um sistema de arquivos que diferencia maiúsculas de minúsculas (como a maioria dos Linux) e os dois arquivos tinham maiúsculas e minúsculas diferentes (Ex: ENTRIES, Entradas, entradas).
Se você observar a saída, os arquivos têm o mesmo tamanho, a mesma data, o mesmo CRC, portanto, esses arquivos são idênticos, você pode substituir um pelo outro com segurança. Pode ser que alguns o tenham copiado com um caso diferente como backup temporário local enquanto trabalhavam nesses arquivos. O número do bloco é que eles estão armazenados em locais diferentes no arquivo zip, o que deveria ser óbvio.
Responder4
Você não pode ter dois nomes de arquivos idênticos no mesmo caminho. Você verificou se o seu sistema está ocultando as extensões? Essa poderia ser a possível diferença entre os dois. Talvez um seja um arquivo de backup.