11

Я извлекаю zip (самораспаковывающийся, но это, вероятно, не имеет значения), и для нескольких файлов я получаю диалог, спрашивающий меня, хочу ли я заменить файл, который уже был извлечен, файлом, который вот-вот быть извлеченным. На первый взгляд, я не понимал, как почтовый индекс может содержать один и тот же файл в одном и том же месте более одного раза. Затем я перешел к рассматриваемому файлу с помощью 7zip (или любого другого инструмента) и нашел это:

Разница в номере блока. Что на самом деле здесь происходит?

5 ответов5

8

Да, формат файла ZIP позволяет использовать несколько файлов с одинаковыми именами. Файлы в zip-архиве на самом деле не находятся в каталогах, а просто имеют длинное имя, включающее путь. И файлы добавляются в ZIP, эффективно объединяя их от начала до конца. Единственное место, где синонимы вызывают проблемы в формате ZIP, - это каталог, в котором предположительно более поздний файл заменяет предыдущий. Но когда извлекается весь ZIP-файл (по сравнению с извлечением отдельных файлов), общий подход состоит в том, чтобы игнорировать каталог и просто извлекать файлы в порядке их появления в ZIP-файле.

Показанное изображение, конечно, содержит содержимое файла ZIP, а не каталог Windows.

4

Да. ZIP-файлы могут содержать один и тот же файл дважды. Это можно сделать с помощью функции "Добавить в архив" вашего zip-инструмента. По умолчанию более поздний файл переписывает любой прежний файл (-ы) при извлечении, поскольку это обычно - желаемое поведение.

Кроме того, файлы, которые отличаются только регистром имени файла / пути, считаются идентичными при извлечении в файловую систему, которая нечувствительна к регистру (Windows или Mac OS.)

1

Похоже, вы используете Windows, в которой два файла с именами, отличающимися в каждом конкретном случае, совпадают с одним и тем же именем файла.

Возможно, ваш архив был создан в чувствительной к регистру файловой системе (например, в большинстве Linux), и два файла имели разные регистры (например, ENTRIES, Entries, entry).

Если вы посмотрите на вывод, файлы имеют одинаковый размер, одинаковую дату, одинаковый CRC, поэтому эти файлы идентичны, вы можете смело перезаписывать один другим. Может случиться так, что некоторые из них скопировали его в другой случай в качестве локальной временной резервной копии при работе с этими файлами. Номер блока заключается в том, что они хранятся в разных местах в zip-файле, что должно быть очевидно.

0

Тот же файл, то же расширение (или в этом случае без расширения). Как было сказано выше, это может быть вызвано добавлением нескольких файлов в zip-файл вручную, поскольку внутренняя структура zip-файла на самом деле не является папкой. Это также может быть вызвано тем, что zip-файл создается в системе, чувствительной к регистру, например в Linux, и открывается в файловой системе, в которой регистр не учитывается, например в Windows.

Обратите внимание, что в Windows, если вы перетаскиваете файлы для извлечения файлов, подобное столкновение фактически будет отображаться для блокировки графического интерфейса. Вам не нужно прибегать к уничтожению задачи и перезапуску; это известная ошибка в 7-Zip, и вы можете использовать клавиатуру для навигации по опциям (например, «Заменить все»), даже если мышь заблокирована -> http://sourceforge.net/p/sevenzip/bugs/1509/

-1

Вы не можете иметь два одинаковых имени файла в одном и том же пути. Вы проверили, скрывает ли ваша система расширения? Это может быть возможным различием между ними. Может быть, один файл резервной копии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .