Как функция «Отправить в сжатую (заархивированную) папку» WinXP определяет, что включать в zip-файл?

StackOverflow https://stackoverflow.com/questions/30152

  •  09-06-2019
  •  | 
  •  

Вопрос

Я не удивлюсь, если меня раскритиковают за вопрос, не связанный с программированием, но, возможно, кто-нибудь знает...

Я архивировал содержимое своей песочницы Subversion, используя встроенную в WinXP функцию «Отправить в сжатую (заархивированную) папку», и был удивлен, обнаружив, что созданный файл .zip не содержит каталогов .svn и их содержимого.

Я всегда предполагал, что все файлы включены, и не могу определить, какое свойство/параметр/атрибут управляет включением или иным образом.Кто-нибудь может помочь?

Спасибо, Том

РЕДАКТИРОВАТЬ:

Итак, нет ли разумного способа справиться с этой проблемой?Настоящая проблема (показывать скрытые файлы со значением true.Папки .svn не сжимаются, поскольку Windows не считает их допустимыми папками) до сих пор не получил ответа.

Спасибо...

Это было полезно?

Решение

Отправка в заархивированную папку не переходит в папки без имен перед точкой (например, «.svn»).Если бы у вас были другие папки, имена которых начинаются с точек, они бы тоже не были включены.Файлы без имен не исключаются.Скрытый атрибут не играет роли.

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

Другие советы

Он может не включать файлы, которые вы обычно не видите.Или файлы могут быть там, но вы не сможете их увидеть при повторном открытии ZIP-файла в проводнике, поскольку они скрыты.Вы можете зайти в Инструменты-> Свойства папки, перейти на вкладку «Вид» и выбрать переключатель для просмотра скрытых файлов и папок.

«Отправить в --> Сжатую (архивированную) папку» создает zip-файл.То, что он туда вставляет, зависит от ваших настроек.Он не включает скрытые файлы с настройками по умолчанию.Если в настройках просмотра проводника установлено значение «Показать скрытые файлы и папки», как упоминал Кибби, то «Отправить в --> Сжатую (архивированную) папку» поместит скрытые файлы в zip-файл.

В XP есть то, что я бы назвал ошибкой, когда скрытые папки не включаются при рекурсии дерева папок.Вы можете получить их, если они находятся в папке, в которой вы находитесь.Рекурсия работает в Vista.

Файлы, начинающиеся с "." Не иметь особого для Windows, за исключением того, что Windows Explorer не позволит вам создать его.Однако это допустимое имя файла.

Я бы рекомендовал использовать что-то вроде 7-Zip если ваши папки содержат скрытые/системные файлы/папки.

Реализация функции «Отправить в сжатую папку» в Windows 7 ведет себя по-другому — она включает файлы/папки, начинающиеся с точки (например,«.SVN») в zip-файле.

Похоже, что расширение оболочки «Сжатая папка» игнорирует каталоги (но не файлы), имена которых начинаются с точки, если только они явно не указаны в качестве параметра (т.выбрано для команды «Отправить»).

Трудно выяснить, что еще оно исключает, так как я даже не могу это выяснить. что элемент sendto «сжатая папка» выполняется в первую очередь, без обращения к сторонней документации.

Редактировать:

Хорошо, ярлык sendto «Отправить в сжатую папку» имеет расширение .ZFSendToTarget, которое обрабатывается zipfldr.dll, который выполняет всю работу.

@Кибби:
Мой включает скрытые папки при архивировании, хотя у меня включено «показывать скрытые файлы».

Наконец, я обнаружил, что не существует простого способа заархивировать папки .svn, и поэтому вместо этого я перешел на WinRAR.Альтернативно вы также можете использовать WinZip.

Сжатая папка не означает, что это будет файл .ZIP, сжато только содержимое папки, и для вас она будет выглядеть как обычная папка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top