Часто задаваемые вопросы (FAQ)

Часто задаваемые вопросы

Могу ли я использовать 7-Zip в коммерческой организации?

Да, 7-Zip является свободным программным обеспечением.Его можно использовать на любом компьютере.Вам не нужно регистрироваться или платить за 7 zip.

Как установить ассоциации файлов в 7 zip в Windows 7 и Windows Vista?

Вы должны запустить 7-Zip File Manager в режиме администратора.Right-click the icon of 7-Zip File Manager, and then click Run as administrator. Then you can change file associations and some other options.

Почему архивы 7z, созданные новой версией 7-Zip, могут быть больше архивов, созданных старой версией 7-Zip?

Новые версии 7-Zip (начиная с версии 15.06) по умолчанию используют другой порядок сортировки файлов для архивов solid 7z.

Old version of 7-Zip (before version 15.06) used file sorting "by type" ("by extension").

New version of 7-Zip supports two sorting orders:

  • sorting by name - default order.
  • Сортировка по типу, если 'qs' указана в поле параметры в окне "добавить в архив" (или -mqs переключатель для версии командной строки).

You can get big difference in compression ratio for different sorting methods, if dictionary size is smaller than total size of files. If there are similar files in different folders, the sorting 'by type' can provide better compression ratio in some cases.

Обратите внимание, что сортировка 'по типу' имеет некоторые недостатки.Например, в томах NTFS используется сортировка заказа 'по имени ', так что если архив использует другую сортировку, то скорость некоторых операций для файлов с необычным порядком может падать на устройства HDD (HDDs имеют низкую скорость для операций' поиск ').

Коэффициент сжатия можно увеличить следующими способами:

  • Увеличить размер словаря.Это может помочь, когда 'qs' не используется.
  • Укажите 'qs' в поле параметры (или используйте -mqs переключатель для версии командной строки).

Если вы считаете, что необычный порядок файлов не является для вас проблемой, и если для вас более важное значение имеет улучшение соотношения сжатия с помощью небольшого словаря, используйте режим 'qs'.

Почему 7-Zip не может открыть архивы ZIP?

В 99% случаев это означает, что архив содержит неправильные заголовки.Другие ZIP программы могут открыть некоторые архивы с неправильными заголовками, так как эти программы просто игнорируют ошибки.

Если у вас есть такой архив, пожалуйста, не звоните 7-Zip разработчикам об этом.Вместо этого попробуйте найти программу, которая была использована для создания архива и сообщить разработчикам этой программы, что их программное обеспечение не совместимо с zip.

Есть также некоторые архивы ZIP, которые были закодированы методами, не поддерживаемыми 7-Zip, например, WAVPack (WinZip).

Почему 7-Zip не может открыть архивы RAR?

7-Zip 9.20 поддерживает только форматы RAR 2/3/4 и не поддерживает архивы RAR5.Но последние версии 7-Zip поддерживают архивы RAR5.

Почему при извлечении архива из 7-Zip в Explorer используются файлы temp?

7-Zip не знает путь к папке drop target.Только проводник Windows знает точную цель сброса.А проводнику Windows нужны файлы (источник перетаскивания) в виде распакованных файлов на диске.Таким образом, 7-Zip извлекает файлы из архива в папку temp, а затем 7-Zip уведомляет проводник Windows о путях этих файлов temp.Затем проводник Windows копирует эти файлы, чтобы удалить целевую папку.

Чтобы избежать использования файла temp, вы можете использовать команду извлечь 7-Zip или перетащить из 7-Zip в 7-Zip.

Почему версия командной строки не добавляет файлы без расширений в архив?

Ты, наверное, используешь *.* шаблон подстановки.7-Zip не использует шаблон шаблона групповой маски операционной системы и, следовательно, лечит *.* как любой файл, имеющий расширение.Чтобы обработать все файлы, вы должны использовать шаблон * подстановки вместо этого или вообще пропустить шаблон.

Почему r не поменял работу, как ожидалось?

В большинстве случаев вам не нужен переключатель r.7-Zip может сжимать подпапки даже без переключателя -r.

Пример 1:

  7z.exe a c:\a.7z "C:\Program Files"

Полностью сжимает "C:\Program Files", включая все подпапки.

Пример 2:

  7z.exe a -r c:\a.7z "C:\Program Files"

Поиск и сжатие "программных файлов" во всех подпапках C:\ (например, в "C:\WINDOWS").

Если вам нужно сжимать только файлы с каким-то расширением, вы можете использовать -r переключатель:
  7z a -r c:\a.zip c:\dir\*.txt 

Сжимает все файлы *.txt из папки c:\dir\ и все папки.

Как сохранить полный путь к файлу в архиве?

7-Zip сохраняет только относительные пути файлов (без префикса букв диска).Вы можете изменить текущую папку в папку, которая является общей для всех файлов, которые вы хотите сжимать, а затем вы можете использовать относительные пути:

  cd /D C:\dir1\
  7z.exe a c:\a.7z file1.txt dir2\file2.txt

Почему 7-Zip не может использовать большой словарь в 32- разрядных Windows?

32- разрядная Windows выделяет только 2 гб виртуального пространства на одно приложение.Кроме того, блок из 2 гб может быть фрагментирован (например, каким-то файлом DLL), поэтому 7-Zip не может выделить Один большой смежный блок виртуального пространства.В 64- битных Windows таких ограничений нет.Так что вы можете использовать любой словарь в Windows x64, если у вас есть необходимое количество оперативной памяти.

Как установить 7-Zip в режиме молчания?

Для exe installer: используйте параметр "/S" для безмолвной установки и параметр /D="C:\Program Files\7-Zip", чтобы указать "выходной каталог ".Эти варианты зависят от конкретного случая.

Для msi installer: используйте /q INSTALLDIR="C:\Program Files\7-Zip" параметры.

Как восстановить поврежденный архив 7z?

Есть несколько возможных случаев, когда архив поврежден:

  • Вы можете открыть архив и просмотреть список файлов, но когда вы нажимаете команду извлечь или протестировать, появляются некоторые ошибки: ошибка данных или ошибка CRC.
  • Когда вы открываете архив, вы получаете сообщение "Can not open file 'a.7z' as archive"

Можно восстановить некоторые данные.Читайте о восстановление процедуры:

Восстановить поврежденный архив 7z



Часто задаваемые вопросы для разработчиков

Почему при компиляции 7-Zip или LZMA SDK с Visual C++ 6.0 возникают ссылки на ошибки?

Для компиляции источников вам потребуется Visual C++ 6.0 или более поздняя версия.Некоторые файлы также требуют новой платформы SDK от microsoft.com:

Если вы используете MSVC, укажите SDK каталоги в верхней части списка каталогов "Include files" и "Library files".Их можно найти в разделе "инструменты/опции/каталоги ".

Последняя платформа SDK не совместима с MSVC6.Так что вы должны использовать Windows Server 2003 PSDK (февраль 2003) с MSVC6.

Могу ли я использовать EXE или DLL файлы из 7-Zip в коммерческом приложении?

Да, но вы должны указать в вашей документации (1), что вы использовали части 7-Zip программы, (2) что 7-Zip лицензируется по лицензии GNU LGPL и (3) вы должны дать ссылку на www.7-zip.org, где можно найти исходный код.

Как я могу добавить поддержку 7z архивов к моему приложению?

Одним из способов является использование 7z.dll или 7za.dll (доступно с sf.net для загрузки).7za.dll работает через интерфейсы COM.Однако он не использует стандартные интерфейсы COM для создания объектов.Небольшой пример можно найти в папке "CPP\7zip\UI\Client7z" исходного кода.Полный пример 7-Zip сам по себе, так как 7-Zip работает и через эту DLL.Есть и другие приложения, использующие 7za.dll, такие как WinRAR, PowerArchiver и другие.

Другой способ — вызвать версию командной строки: 7za.exe.

Могу ли я использовать исходный код 7-Zip в коммерческом приложении?

Поскольку 7-Zip лицензирован под GNU LGPL, вы должны следовать правилам этой лицензии.Короче говоря, это означает, что любой код LGPL'ed должен оставаться лицензированным в соответствии с LGPL.For instance, you can change the code from 7-Zip or write a wrapper for some code from 7-Zip and compile it into a DLL; but, the source code of that DLL (including your modifications / additions / wrapper) must be licensed under the LGPL or GPL. Any other code in your application can be licensed as you wish. This scheme allows users and developers to change LGPL'ed code and recompile that DLL. That is the idea of free software. Read more here: https://www.gnu.org/. You can also read about the LZMA SDK, which is available under a more liberal license.


Copyright (C) 2023 7zip.com