Кратко о том, как извлечь файлы из архива с помощью контекстного меню

Обновлено: 25.06.2024

Коротко говоря, Easy 7-Zip — это простая в использовании версия 7-Zip. Первоначально Easy 7-Zip был создан на основе 7-Zip 9.20. Я сохранил все функции 7-Zip и добавил несколько полезных функций, которые делают программу более удобной для пользователя. Недавно 7-Zip обновился до 16.04. Итак, я перенес коды в версию.

7-Zip это бесплатное и отличное программное обеспечение для распаковки и сжатия файлов, которое поддерживает форматы 7z, AR, ARJ, BZIP2, CAB, CHM, CPIO, CramFS, DEB, DMG, EXT, FAT, GPT, GZIP, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RAR5, RPM, SquashFS, TAR, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, Архивы XZ, Z, ZIP и ZIPX. 7-Zip разработан Игорем Павловым.

Почему я сделал Easy 7-Zip?

7-Zip — отличное бесплатное ПО для архивации файлов. Программу очень люблю. Спасибо Игорь Павлов! Однако, когда я часто использовал 7-Zip, я думал, что программное обеспечение может быть лучше. Итак, я скачал исходный код 7-Zip, изучил и модифицировал код в свободное время и сделал Easy 7-Zip. Я надеюсь, что Easy 7-Zip будет полезен для всех.

Какие функции были добавлены в Easy 7-Zip?

1. Добавляет значки в контекстное меню

* Примечание: только для 7-Zip 9.20. Эта функция добавлена ​​в последнюю версию (16.04) 7-Zip.

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

Добавляет значки в контекстное меню


Добавляет значки в контекстное меню

Добавляет значки в каскадное контекстное меню


Добавляет значки в каскадное контекстное меню

2. Добавляет параметры в диалоговое окно извлечения

Добавляет параметры в диалоговое окно копирования

Я добавил 4 функции в диалоговое окно извлечения файлового менеджера 7-Zip.

  1. Кнопка «Открыть». Easy 7-Zip откроет выходную папку при нажатии на кнопку. Таким образом, вы можете легко просматривать файлы или каталоги в папке одним щелчком мыши.
  2. Кнопка «Имя файла»: при нажатии кнопки Easy 7-Zip добавляет имя файла в конец выходной папки, чтобы программа создавала папку с именем файла и извлекала файлы в папку. Например, имя файла — sample.7z, выходная папка — D:\Output, при нажатии кнопки выходная папка будет D:\Output\sample, и все файлы будут выводиться в папку.
  3. Показать свободное и общее пространство выходного диска. Это полезно для больших файлов.
  4. Параметры «После успешного завершения извлечения»:
    • Открыть выходную папку: если флажок установлен, Easy 7-Zip открывает выходную папку после извлечения. Чтобы вы могли легко найти выходные файлы.
    • Удалить исходный архив: удалить исходный архив после успешного завершения извлечения. Если при извлечении произойдут какие-либо ошибки, например, неправильный пароль, Easy 7-Zip не удалит исходный архив.
    • Закрыть 7-Zip: закрыть 7-Zip после распаковки.

Диалоговое окно извлечения контекстного меню было изменено на что-то вроде скриншота ниже.

Добавляет параметры в диалоговое окно извлечения

3. Сохраняет ту же историю выходных папок

7-Zip использует отдельную историю выходных папок для диалогового окна извлечения файлового менеджера 7-Zip и контекстного меню. Однако мы, вероятно, используем любой из способов извлечения файла и не можем найти историю выходной папки другого. Я сделал, что Easy 7-Zip использует одну и ту же историю папок вывода для обоих диалогов извлечения и увеличивает количество истории папок вывода до 30.

Извлечение диалогового окна файлового менеджера 7-Zip


Диалоговое окно извлечения файлового менеджера 7-Zip

Извлечь диалог контекстного меню


Извлечь диалог контекстного меню

4. Сворачивается в системный трей при нажатии «Фон» в диалоговом окне прогресса

Это похоже на то, что 7-Zip ничего не делает при нажатии на "Фон" в оригинальном 7-Zip. На самом деле 7-Zip устанавливает для себя приоритет выполнения в режиме ожидания. Таким образом, пользователь может заниматься другими делами без потери производительности на том же компьютере. Однако было бы лучше, если бы 7-Zip сворачивался в системный трей при работе в фоновом режиме. Я получил эту функцию в Easy 7-Zip. Программа также показывает прогресс в системном трее.

Я также добавил процент выполнения в диалоговое окно, хотя процент отображается в заголовке диалогового окна. Так как я не привык видеть проценты в заголовке диалога.

Добавляет процент в диалоговое окно прогресса

Свернуть в системный трей

Если вы не можете найти значок в области панели задач, возможно, он был скрыт Windows. Щелкните маленький треугольник в области панели задач, и вы получите значок.

Показать значок

5. Создает новый установочный файл

Я создал пакет Easy 7-Zip, содержащий версии x86 (32-разрядная версия) и x64 (64-разрядная версия). Другими словами, пакет автоматически устанавливает x86 (32-битную) версию Easy 7-Zip в 32-битной Windows и x64 (64-битную) в 64-битной Windows. Пакет также позволяет пользователю ассоциировать 7-Zip с расширениями файлов, включая 001, 7z, arj, bz2, bzip2, cab, cpio, deb, dmg, fat, gz, gzip, hfs, iso, lha, lzh, lzma, ntfs, rar, rpm, squashfs, swm, tar, taz, tbz2, tbz, tgz, tpz, txz, vhd, wim, xar, xz, z и zip.

Новая установка< бр />

6. Другие улучшения пользовательского интерфейса

Почему Easy 7-Zip больше, чем 7-Zip?

  1. Пакет Easy 7-Zip содержит версии x86 (32-разрядная) и x64 (64-разрядная) файлов EXE и DLL.
  2. 7-Zip был скомпилирован с помощью MS Visual C++ 6.0. Однако я скомпилировал Easy 7-Zip с помощью MS Visual C++ 2008. Последний создает файл большего размера, чем первый. Кроме того, я оптимизировал Easy 7-Zip с максимальной скоростью, а не с минимальным размером, а также включил оптимизацию всей программы, которая будет генерировать более эффективный код.

Бесплатная загрузка Easy 7-Zip EXE и исходного кода

Предложения

Пожалуйста, свяжитесь со мной, если у вас есть вопросы или предложения по Easy 7-Zip.

Большинство распространенных операций с архивами можно инициировать из контекстного меню «Мой компьютер» или проводника Windows. Во многих случаях вам даже не нужно будет открывать или использовать главное окно WinZip®.

Распаковка файлов с Моего компьютера или Проводника Windows

  • Щелкните правой кнопкой мыши Zip-файл в окне проводника Windows, затем выберите WinZip в контекстном меню и выберите соответствующий пункт «Извлечь» в подменю WinZip. Вы можете распаковать в текущую папку («здесь»), в недавно использовавшуюся папку, в новую подпапку, созданную WinZip, или в любую папку по вашему выбору.
  • Или с помощью правой кнопки мыши перетащите Zip-файл из окна проводника Windows в любую папку, затем выберите «Извлечь в» в контекстном меню. Обязательно используйте правую кнопку мыши при перетаскивании.
  • Вы также можете извлечь из нескольких Zip-файлов за одну операцию: просто выберите Zip-файлы в проводнике, щелкните правой кнопкой мыши любой из выбранных файлов, выберите WinZip в контекстном меню и выберите соответствующий пункт «Извлечь» в подменю WinZip.

Архивация файлов с Моего компьютера или Проводника Windows

  • Выберите один или несколько файлов в окне проводника Windows, затем щелкните правой кнопкой мыши любой из выбранных файлов, выберите WinZip в контекстном меню и выберите соответствующий пункт «Добавить» в подменю WinZip. Вы можете создать новый Zip-файл или добавить файлы в любой существующий Zip-файл.
  • Вы также можете выбрать один или несколько файлов, а затем перетащить их в существующий файл Zip в том же окне проводника, в другом окне проводника или на рабочем столе. Обратите внимание, что вы можете создать новый пустой Zip-файл в Проводнике, щелкнув правой кнопкой мыши и выбрав «Файл WinZip» в подменю «Создать».

Сжатие и отправка файлов и папок по электронной почте из «Моего компьютера» или «Проводника Windows»

  • Выберите один или несколько файлов или папок в окне проводника Windows, затем щелкните правой кнопкой мыши любой из выбранных элементов, щелкните WinZip в контекстном меню и выберите одну из записей Zip и E-Mail в подменю WinZip. Zip и электронная почта filename.zip быстро сжимает выбранные элементы, создает временный Zip-файл с указанным именем и прикрепляет его к новому сообщению электронной почты. Zip и E-Mail Plus выполняют одну и ту же основную операцию, но позволяют применять шифрование и указывать имя создаваемого временного Zip-файла.

Полный список действий, доступных из контекстного меню, см. в разделе Усовершенствования контекстного меню Проводника.

Если у вас есть ZIP-файл на вашем компьютере, и вы щелкнете его правой кнопкой мыши, появится опция Извлечь все, чтобы получить данные из сжатой папки. Конечно, это полезная функция, которая поможет вам извлечь содержимое сжатого файла.Но если вы хотите удалить Извлечь все из контекстного меню для ZIP-файлов, вам нужно удалить определенный ключ в редакторе реестра. Мы также покажем вам, что вы можете сделать, если параметр Извлечь все отсутствует в Windows 10.

Как удалить Извлечь все из контекстного меню для ZIP-файлов

Windows 10 позволяет пользователям извлекать все содержимое без каких-либо инструментов — благодаря параметру Извлечь все. Он появляется в контекстном меню правой кнопки мыши для ZIP-файлов. Независимо от того, есть ли у вас один файл или несколько файлов в сжатой папке, вы можете извлечь их все сразу.

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

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

Удалить пункт «Извлечь все» из контекстного меню для ZIP-файлов

Чтобы удалить Извлечь все из контекстного меню ZIP-файлов, выполните следующие действия:

  1. Нажмите Win+R, чтобы открыть окно «Выполнить».
  2. Введите regedit и нажмите кнопку Enter.
  3. Нажмите кнопку "Да" в окне контроля учетных записей пользователей.
  4. Перейдите к ключу ContextMenuHandlers.
  5. Разверните ключ ContextMenuHandlers.
  6. Удалите или переименуйте ключ.

Откройте редактор реестра. Для этого вы можете одновременно нажать клавиши Win+R, ввести regedit и нажать кнопку Enter. Если появится приглашение UAC, нажмите кнопку Да, чтобы открыть его на своем компьютере. После этого перейдите по следующему пути в редакторе реестра —

В ключе ContextMenuHandlers вы можете найти подраздел с именем:

Вы должны переименовать или удалить его, чтобы удалить параметр «Извлечь все» из контекстного меню, вызываемого правой кнопкой мыши.

Чтобы переименовать этот ключ, щелкните его правой кнопкой мыши и выберите параметр "Переименовать". После этого введите имя или добавьте одну или две буквы в конце имени.

Удалить из контекстного меню ZIP-файлов

Аналогичным образом, если вы хотите удалить этот ключ, щелкните его правой кнопкой мыши и выберите параметр "Удалить". Затем подтвердите удаление, нажав кнопку Да.

Если вы решите, что хотите его вернуть, вам следует пройти процесс «Переименовать». Таким образом, вам будет легко вернуться к опции Извлечь все при необходимости.

Параметр «Извлечь все» отсутствует в Windows 10

Если параметр «Извлечь все» отсутствует в Windows 10, вы можете загрузить этот файл .reg с наших серверов, дважды щелкнув его, чтобы добавить его содержимое в свой реестр.

Мы надеемся, что этот пост поможет вам.

Дата: 23 мая 2020 г. Теги: контекстное меню

Похожие записи


Как добавить или удалить приложения по умолчанию из контекстного меню рабочего стола в Windows 11/10


Добавить или удалить «Открыть с помощью» в контекстном меню для файлов BAT или URL-адресов в Windows 11/10

Новый текстовый документ отсутствует в контекстном меню

Элемент «Создать новый текстовый документ» отсутствует в контекстном меню в Windows 11/10

[электронная почта защищена]

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

То же самое может произойти с файлом ZIP, где несколько файлов сжаты в один, и все, что ему нужно, это всего лишь один поврежденный бит, чтобы предотвратить открытие и извлечение файла некоторыми файловыми архиваторами. Например, при попытке открыть поврежденный Zip-архив из проводника Windows появляется всплывающее окно с ошибкой.

«Windows не может открыть папку. Сжатая (заархивированная) папка «C:\Path\to\file.zip» недействительна».

Ширина поврежденного zip-файла Windows

Хотя Windows десятилетиями поддерживает создание и распаковку Zip-файлов без стороннего программного обеспечения, это решение не является надежным.

Если у вас возникли проблемы с распаковкой Zip-файла, есть несколько инструментов, которые могут помочь вам получить к нему доступ до момента, когда данные можно будет восстановить. Здесь мы перечислим 8 программ для восстановления или открытия поврежденного Zip-файла, чтобы вы могли его извлечь.

Мы разделим инструменты на две категории; те, которые являются автономными инструментами для восстановления Zip, и те, которые являются частью программного обеспечения для архивирования.

Автономные инструменты для восстановления ZIP

Это отдельные инструменты, предназначенные для восстановления данных из поврежденных Zip-архивов.

<р>1. DiskInternals ZIP Восстановление

Diskinternals zip repair

DiskInternals — компания, специализирующаяся на восстановлении данных, выпустила бесплатное ПО ZIP Repair. Для восстановления поврежденного файла архива с помощью удобного мастера требуется всего несколько щелчков мышью. Просто выберите поврежденный файл для восстановления, место для сохранения восстановленного файла, и программа покажет вам список файлов, которые можно восстановить. Эта программа появилась в 2007 году, но до сих пор отлично работает в последней версии Windows 10.

<р>2. Zip2Fix

Leelusoft zip2fix

Zip2Fix восстанавливает файлы из поврежденных Zip-архивов, извлекая исправные, а затем сжимая их обратно в новый файл архива с добавлением _ZFX к имени файла. Использование простое, запустите программу и нажмите кнопку «Открыть», чтобы найти поврежденный файл Zip/SFX. Zip2Fix автоматически начнет поиск хороших файлов, доступных для переупаковки, а затем повторно заархивирует их. Программа является переносимой и не требует установки.

<р>3. DataNumen Zip Repair / DataNumen Archive Repair

Datanumen zip repair

Несмотря на то, что эту программу можно использовать бесплатно, она выводит всплывающее окно при запуске и снова, когда вы нажимаете Пуск, чтобы начать процесс восстановления. Все, что вам нужно сделать, это найти Zip или воспользоваться встроенной функцией поиска и нажать «Начать восстановление». Файлы извлекаются в папку назначения. Полезной функцией является пакетное восстановление, позволяющее добавлять и пытаться восстановить данные сразу из нескольких поврежденных архивов.

Помимо Zip Repair, DataNumen также предлагает аналогичные инструменты для восстановления архивов RAR, CAB и TAR. Доступ ко всем четырем этим инструментам можно получить из одного интерфейса с DataNumen Archive Repair.

Object Fix Zip — это старый инструмент, о котором мы упоминали ранее и который предназначен для восстановления Zip-файлов. Однако последний раз он обновлялся в 2008 году, во время тестирования постоянно выскакивали ошибки и ничего не восстановилось. Инструмент можно использовать бесплатно, поэтому, очевидно, не помешает попробовать Object Fix Zip, если у вас возникли проблемы с восстановлением архива.

Архиваторы со встроенными функциями восстановления или извлечения Zip

Некоторые программы для архивации файлов имеют встроенный инструмент для восстановления поврежденных ZIP-файлов. Параметры обычно скрыты в подменю и не всегда очевидны для конечных пользователей. Хотя некоторые из перечисленных ниже архиваторов являются условно-бесплатными, их все же можно использовать в пробном режиме при попытке восстановить поврежденный архив.

<р>4. PowerArchiver

Powerarchiver ремонт zip-архива

Окно PowerArchiver Repair Zip можно открыть из меню/ленты Инструменты или просто нажав Ctrl+R (в классическом режиме). Откроется диалоговое окно «Восстановить Zip-архив», и вы можете щелкнуть значок папки, чтобы найти поврежденный Zip-файл, который вы хотите восстановить. Нажмите кнопку «Пуск», чтобы начать исправление. Исправленный Zip-файл будет сохранен под тем же именем файла с дополнительным _PAFixed.

<р>5. WinRAR

Winrar repair zip

WinRAR – один из старейших архиваторов, который уже много лет поддерживает функцию восстановления. Он способен восстанавливать архивы форматов Zip и RAR. Запустите файловый менеджер WinRAR, выделите Zip-файл и перейдите в Инструменты > Восстановить архив (Alt+R). Убедитесь, что выбран параметр «Обрабатывать поврежденный архив как ZIP», выберите путь для сохранения и нажмите «ОК». Восстановленное имя файла будет сохранено с префиксом восстановленного (rebuilt.filename.zip).

<р>6. ALZip

Архив восстановления Alzip

Откройте ALZip и выберите Действие > Восстановить архив (F11). Выберите Zip-файл, оставьте имя восстановленного архива, и по умолчанию к исходному имени файла будет добавлено расширение .repair. Для простоты использования убедитесь, что тип файла, который нужно восстановить, и тип архива, который нужно сжать, — ZIP. В окне завершения восстановления предлагается отправить новый архив по электронной почте, скопировать файлы или проверить новый архив на наличие ошибок.

Примечание. ALZip раньше был условно-бесплатным, но его поддержка была прекращена в 2012 году. Лицензионный ключ для бесплатного использования ALZip был предоставлен разработчиком. Он включается в архив при скачивании файла и на странице скачивания.

<р>7. 7-архив

7zip открыть поврежденный zip

Мы не думаем, что 7-Zip когда-либо заявляла, что может восстанавливать или восстанавливать данные из поврежденных Zip-архивов. Тем не менее, ряд наших комментаторов здесь сообщили об успехе. Нет встроенного специального инструмента или функции, просто попробуйте открыть или извлечь Zip-файл как обычно. Если вы получили сообщение об ошибке и архив не открывается, щелкните файл правой кнопкой мыши > 7-Zip > Открыть архив > zip. Оттуда можно извлечь восстанавливаемые файлы.

<р>8. Бандизип

Bandizip восстанавливает zip-файлы

Bandizip раньше был полностью бесплатным, но теперь у него есть платная версия и версия с поддержкой рекламы. Специальное окно восстановления Zip является платной функцией. К счастью, последняя действительно бесплатная версия может открыть поврежденный Zip-файл, просто открыв его как обычно. Найдите файл или перетащите его в окно. Просто игнорируйте всплывающее окно «Файл поврежден», и файлы, которые можно восстановить, появятся в главном окне. Извлеките оттуда все, что сможете.

Мы также попробовали некоторые другие архиваторы, не вошедшие в основной список. Пробная версия WinZip работает, но также требует установки сопутствующей версии командной строки. IZArc включает опцию восстановления Zip, но когда мы попробовали несколько тестовых файлов, он не дал ничего, кроме поврежденных архивов восстановления. Другой популярный архиватор, Peazip, не смог открыть большинство наших тестовых файлов.

Простой тест для восстановления данных из поврежденного Zip-архива

Очевидно, что чем больше данных программа может восстановить из поврежденного Zip-файла, тем лучше. Мы провели очень простой тест, чтобы увидеть, какое программное обеспечение восстанавливается больше всего. Мы заархивировали 10 копий PNG-файла обоев Windows (всего 15,6 МБ), а затем обнулили 5 КБ с начала, середины и конца архива. В результате файлы 1, 4 и 9 были повреждены, и архив был недоступен из встроенного Zip-архива Windows.

Каждая программа использовалась для восстановления самого Zip-файла или данных. Результаты ниже.

Восстановление Datanumen Zip — извлечено и восстановлено 7 неповрежденных файлов и 1 поврежденный файл (изображение 4).

DiskInternals ZIP Repair, Zip2Fix, PowerArchiver, WinRAR — эти программы делают то же самое. Они создали архив восстановления, который нельзя было открыть с помощью Windows Zip и для которого требовался сторонний архиватор. После извлечения все они восстановили 7 файлов, а также восстановили поврежденные изображения 4 и 9.

Bandizip — Поврежденный архив открывается непосредственно в Bandizip. Удалось извлечь 7 хороших и 2 частично поврежденных изображения.

ALZip — создан архив восстановления из 7 файлов, который работал с Windows Zip. 3 известных поврежденных файла не были включены в новый архив.

7-Zip: невозможно первоначально открыть поврежденный Zip-файл двойным щелчком или контекстным меню «Открыть архив». Он открылся с помощью Open Archive> zip из контекстного меню. Все 9 восстанавливаемых файлов можно извлечь из 7-Zip File Manager, включая 2 поврежденных файла.

Поврежденное изображение 4

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

Мы также провели второй тест с одним PNG-изображением размером 1,6 МБ в Zip-архиве и обнулили первый и последний 5 КБ. В этом сценарии ни одному из инструментов не удалось восстановить архив или данные.

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

Если вы какое-то время работали с компьютерами, вам наверняка приходилось работать с архивными файлами с такими расширениями, как zip, tar.gz, tar.bz2, xz, 7z, rar. и т. д. На самом деле, вам, возможно, даже пришлось создать несколько (или несколько тысяч) самостоятельно. Без тени сомнения, вам приходилось извлекать информацию из архивного файла, который вам прислал друг или член семьи, или который вы скачали из какого-то уголка Интернета.

Различные форматы архивов существуют с . хорошо . навсегда. Они очень полезны для помещения множества файлов — связанных или нет — в один файл. Это упрощает организацию вещей — один файл для отслеживания вместо 147. Они также помогают хранить связанные и связанные файлы вместе, чтобы у получателя было все в одном файле. Это также упрощает обмен файлами с друзьями, членами семьи, коллегами, партнерами и всеми, с кем вы хотите поделиться файлами.

Большинство форматов архивов сжимают файлы в архиве, что позволяет хранить эти файлы в меньшем объеме на жестком диске. Другие форматы архивов вообще не сжимают файлы. Их «работа» состоит в том, чтобы хранить все файлы вместе в одном удобном месте. Мы не собираемся здесь подробно обсуждать различные форматы архивов. Эта статья не предназначена для использования в качестве руководства по различным форматам архивных файлов. Эта информация легкодоступна, ее легко найти, и она содержит гораздо больше подробностей, чем это необходимо для наших нужд здесь.



Файловый ролик, отображающий содержимое файла tar.gz

Linux достаточно благословлен, чтобы иметь несколько вариантов. Ark, File Roller и Squeeze — три популярные программы с отличным графическим пользовательским интерфейсом. Есть много других программ командной строки, доступных для работы с ассортиментом форматов архивных файлов, которые существуют повсюду. Однако я должен признать, что открывать каждый файл архива по отдельности в типичной программе управления архивами становится утомительно. Какими бы хорошими ни были эти программы, бывают случаи, когда я просто хочу бросить беглый взгляд на файл архива, не запуская мою надежную программу управления архивом. Иногда я хочу просто создать файл архива. В других случаях я просто хочу извлечь файл архива на свой жесткий диск, даже не глядя, что внутри (каждый месяц я получаю много архивных файлов из надежных источников).

Как пользователь настольного компьютера Xfce, у меня есть несколько «других» вариантов работы с архивными файлами. Благодаря пользовательским действиям Thunar, мне доступно еще больше этих вариантов одним или двумя щелчками мыши. Если вы не являетесь пользователем Xfce, не беспокойтесь. Большую часть информации в этой статье можно использовать и из командной строки, с небольшими изменениями в некоторых случаях и практически без изменений в других случаях.

Собственное решение Xfce

К счастью, разработчики Xfce включили плагин для Thunar, помогающий работать с архивными файлами. К сожалению, за те четыре года, что я использовал в основном Xfce в качестве основного рабочего стола, этот плагин ломался, они его чинили, потом он снова ломался, потом они снова чинили. Кажется, что этот цикл продолжается, и конца ему не видно. В результате я потерял уверенность в использовании плагина архива Thunar. На самом деле, я удалил его со своих компьютеров, чтобы не разочароваться в следующий раз, когда он сломается (и чтобы не спутать его с моим домашним раствором, приведенным ниже).

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

Альтернативное решение

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

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

Из всех доступных инструментов я наткнулся на один, который действительно делает работу с архивными файлами простой и безболезненной. Это инструмент командной строки, называемый atool. На данный момент до версии 0.39.0, atool представляет собой набор Perl-скриптов, предоставляющих общий набор команд для работы со всеми типами архивных файлов, поддерживаемыми в вашей системе. Таким образом, вам нужно запомнить только один набор переключателей командной строки, а не отдельный набор для каждого инструмента архивации.

Вы можете установить инструмент из репозитория PCLinuxOS через Synaptic. Это также хорошее время для установки любых других форматов архивов, с которыми вы хотите работать, или с которыми, как вы думаете, вы можете столкнуться. Если вы хотите работать с файлами 7z, вам нужно установить p7zip. Если вы хотите работать с rar-файлами, вам нужно установить rarlinux. Большинство наиболее распространенных инструментов архивации (zip, unzip, tar, gzip, bzip и т. д.) уже должны быть установлены в системе PCLinuxOS.

Вот параметры командной строки, собранные для вас при запуске atool --help в командной строке:

Обратите внимание, что некоторые команды имеют отдельную команду, указанную в скобках в конце строки текста в операторе справки. Действительно приятно то, что вы можете использовать команду atool или вы можете направить свои команды прямо на команду, которую atool в конечном итоге будет использовать и вызывать. Существует шесть отдельных команд (кроме atool), которые вы можете использовать:

als — выводит список файлов в архиве
aunpack — извлекает файлы из архива
apack — добавляет файлы в архив
acat — извлекает файлы в стандартный вывод
adiff — генерирует разница между двумя архивами
arepack - конвертирует из одного формата архива в другой

Список содержимого архивных файлов

Иногда — ладно, часто — имя архивного файла немного хуже описывает его содержимое, чем вам хотелось бы. Это может затруднить понимание того, что находится в файле архива, если только вы не откроете его в резидентном диспетчере архивов. Однако мы можем просматривать файлы в архивном файле гораздо проще и с меньшими затратами.

Создайте новое пользовательское действие Thunar. Дайте ему имя в первой строке. Я назвал свой «Просмотреть содержимое архива». Во второй строке введите описание. Я ввел «Просмотреть содержимое выбранного файла архива». В третьей строке введите следующую команду:

Выберите значок для своего нового пользовательского действия Thunar. На вкладке «Условия внешнего вида» выберите «Другие файлы» и установите шаблон файла *.tar.gz;*.tar.bz2;*.7z;*.rar;*.zip; *.tar;*.tar.xz.


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

Распаковка/извлечение архивных файлов

Возможно, одним из наиболее распространенных действий при работе с архивными файлами является извлечение содержимого архива на жесткий диск. Для возможности извлечения файлов из широкого ассортимента архивных файлов эта деятельность требует — нет, взывает — некоторого упрощения. Конечно, вы можете написать bash-файл, который поддерживает все форматы архивных файлов, но благодаря atool нам это не нужно.


Одной из команд, входящих в набор инструментов atool (на самом деле это набор сценариев Perl), является команда aunpack. Как вы можете видеть в диалоговом окне «Редактировать действие» пользовательского действия Thunar выше, мы даем ему имя «Извлечь архив здесь». Под описанием введите «Извлечь выбранные здесь архивы в их собственные каталоги». Затем введите следующую команду:

aunpack -xe %N

Выберите значок для своего нового пользовательского действия Thunar. На вкладке "Условия оформления" выберите "Другие файлы" и введите следующий шаблон файла:

*.zip;*.tar;*.tar.gz;*.tar.bz2;*.rar;*tar.xz;*.7z

Теперь всякий раз, когда вы выбираете «Извлечь архив сюда» в контекстном меню Thunar, щелкающем правой кнопкой мыши, выбранные вами архивные файлы будут извлекаться, каждый в свой отдельный каталог. Это одно из дополнительных преимуществ использования команды aunpack в atool. Извлечение содержимого файла архива автоматически помещается в его собственный каталог, и вам действительно нужно заставить набор команд инструмента перезаписывать файлы. Таким образом, вы получаете дополнительный уровень «безопасности», который предотвращает перезапись любого из ваших текущих файлов. Имея это в виду, если вы ранее извлекали файлы из архивного файла и хотите повторить это действие, было бы неплохо переименовать папку в ту, в которую содержимое архивного файла было извлечено в первый раз.

Создание архивных файлов

Чтобы полностью заменить подключаемый модуль архива Thunar, мне нужно было найти способ создания файла архива из нескольких несмежных файлов, а также создать файл архива из всего каталога. К счастью, набор команд atools обеспечивает именно это. Кроме того, поскольку мы создаем файл, нам нужен способ дать этому файлу имя.

Самый простой способ выполнить все требования — создать файл bash. Вот этот bash-файл, который я назвал Compressor.sh:

У этого файла bash было несколько других версий, прежде чем он стал версией, которую вы видите выше. Глядя на это снова, я замечаю, что мы можем сделать файл bash еще короче, полностью исключив длинный оператор if-then-else, в котором он проверяет правильное расширение формата файла архива. Из этого длинного оператора мы сохраним только команду atool. В предыдущих версиях пользователь вводил расширение архивного файла вручную, а не выбирал его из списка (как в этой версии). Длинный оператор if помог проверить, правильно ли введено расширение файла архива, без опечаток, а если нет, то вывести сообщение об ошибке и выйти. Поскольку конечный пользователь выбирает расширение файла архива из списка, мы устранили возможность ввода неправильного расширения файла. В результате окно сообщения об ошибке никогда не будет отображаться.

Итак, с этими изменениями bash-файл Compressor.sh становится таким:





Bash-файл также предварительно выбирает для вас имя файла на основе первого имени файла, переданного сценарию. Если вы выбрали несколько файлов, то имя первого файла в списке файлов автоматически заполняется в диалоговом окне имени архива без расширения файла. Если вы выбрали каталог для сжатия, то имя выбранного каталога автоматически заносится в диалоговое окно имени архива. В любом случае, если вы хотите назвать его по-другому, просто введите желаемое имя в диалоговое окно имени архива.

Несмотря на то, что использование пробелов в именах файлов показывает дурной тон, я попытался создать этот bash-скрипт, допускающий использование пробелов в именах файлов. Пробелы в именах файлов могут вызвать проблемы со многими инструментами командной строки, группой программ, к которой определенно принадлежит atool. По возможности следует избегать использования пробелов в именах файлов. Следовательно, если вы печатаете этот сценарий bash, будьте особенно осторожны с тем, какие кавычки вы используете в сценарии bash. "" не то же самое, что "', и не то же самое, что ``. Все они имеют разные значения в скрипте bash. Введите (или скопируйте) сценарий bash в свой любимый текстовый редактор и обязательно сохраните его (желательно где-нибудь в системном пути). Не забудьте сделать файл исполняемым (Свойства > Разрешения > Разрешить запуск этого файла как программы).


В качестве имени введите "Создать архив". Под описанием введите «Создать файл архива из группы выбранных файлов или каталога». Введите следующую команду в третьей строке:

$HOME/Scripts/compressor.sh %N

(Я храню все свои пользовательские сценарии в моем домашнем каталоге, в каталоге "Scripts"). Выберите значок для своего нового пользовательского действия Thunar. На вкладке "Условия оформления" оставьте * в качестве шаблона файла и поставьте галочку напротив каждого типа файла.

Теперь, если щелкнуть правой кнопкой мыши группу файлов или каталог и выбрать «Создать архив» в контекстном меню Thunar, в контекстном меню Thunar будет создан архив с указанным вами именем и типом, который вы укажете. каталог.

Переупаковка архива

Эта удобная команда довольно уникальна. Он возьмет указанные вами архивные файлы (допускается несколько файлов) и переупакует их в архивный файл другого формата. Допустим, у вас есть файл архива tar.gz, содержащий изображения из вашего недавнего отпуска. Вы хотите поделиться ими со своей сестрой, кузиной и родителями. Однако все они используют Windows, и всем известно, что в Windows «правят» zip-файлы. Чтобы убедиться, что они могут открывать и просматривать изображения, вам нужно изменить файл tar.gz на файл zip.

Конечно, вы можете просто извлечь файл tar.gz и повторно сжать его как zip-файл. Но это требует довольно много дополнительных шагов. Что, если бы мы могли просто автоматически преобразовать файл tar.gz в zip-файл всего за один простой шаг? С набором инструментов это возможно.

Чтобы правильно обрабатывать несколько архивных файлов и правильно переименовывать файлы, необходим сценарий bash. Вот скрипт bash, который я назвал archive-repack.sh:

Так же, как и в случае с bash-скриптом Compressor.sh, я попытался сделать архив-перепаковку.sh bash-скрипт терпим к именам файлов с пробелами в них. Я не буду снова повторять предыдущее обсуждение пробелов в именах файлов. Те же заявления, сделанные ранее, остаются в силе.

Скопируйте или введите bash-скрипт archive-repack.sh в своем любимом текстовом редакторе. Сохраните файл и не забудьте сделать его исполняемым. Создайте новое пользовательское действие Thunar. В первой строке введите имя. Я назвал свой «Перепаковать архивы». Во второй строке введите описание. Я ввел «Переупаковать выбранные архивные файлы в другой формат архивного файла». В третьей строке введите следующую команду:

$HOME/Scripts/archive-repack.sh %N

Выберите значок для своего нового пользовательского действия Thunar. На вкладке "Условия оформления" выберите "Другие файлы" и установите следующий шаблон файла:

*.zip;*.tar;*.tar.gz;*.tar.bz2;*.rar;*tar.xz;*.7z



Теперь, когда вы выбираете «Переупаковать архивы» в контекстном меню Thunar, вызываемом правой кнопкой мыши, все выбранные архивные файлы будут переупакованы в выбранный вами формат файла архива. В диалоговом окне Zenity отображается ход выполнения процесса.

Резюме

Добавление этих четырех новых настраиваемых действий Thunar не только добавляет новые возможности для управления архивами с помощью Thunar, но и полностью заменяет часто ломающийся подключаемый модуль архивации Thunar. Управление архивными файлами еще никогда не было таким простым.

Читайте также: