Вопрос или проблема
Как мне преобразовать файлы .tar.gz и .tar.bz2 в файлы .7z с помощью командной строки?
Обновление: я полностью пропустил тег ‘windows
‘ в вашем вопросе.
Поэтому, если вы не используете какие-то утилиты Unix (Cygwin?), этот ответ не будет работать.
Я ожидаю, что cygwin
правильно реализует этот канал — вам понадобятся bash
, tar
, bzip2
и 7z
из среды.
Вы можете передавать вывод tar в 7z вот так,
tar xfj filename.tar.bz2 | 7z a -si filename.7z
и аналогично,
tar xfz filename.tar.gz | 7z a -si filename.7z
Это сэкономит место на диске для извлеченных данных — но это не конвертация на лету.
Вам все равно потребуется достаточное место для хранения файла ‘7z
‘, который создается из архивного файла.
Вы можете удалить архивный файл только после завершения канала.
Попробуйте ArcConvert.
Я лично не тестировал эту программу, но на их сайте говорится, что она делает то, что вам нужно:
------------------------------------------------------------------------------
Этот конвертер может конвертировать следующие архивы:
------------------------------------------------------------------------------
7-ZIP/ LZH / CAB / ZIP / ARJ / ACE / RAR / TAR / TGZ / GZ / Z / BZ2 / YZ1 /
YZ2 / GCA / BEL / RPM / DEB/ BH / Noa32 / HKI / PAQAR / SQX /HA /ZOO /
UHARC /LFB / ZLIB / UCL / IMP / RS / SPL / APK / Arc / DZ / MSI / ALZ /
PMA / PAQ7 / CHM / UDA / PAQ8 / Cryptonite / ISO / LZOP / BMA /
ZIP AES (128/192/256) / Nanozip Alpha/ XZ/ FreeArc/Zpaq/GZA
------------------------------------------------------------------------------
в следующие:
------------------------------------------------------------------------------
ZIP, 7-ZIP, CAB, LHA, TAR, TGZ, BZ2, YZ1, BGA, RAR, ACE, NOA32, PAQAR,
UHARC, YZ2, DZ, HA, XZ, FreeArc, ARJ/PAQ9/GZA
скриншот:
Ответ или решение
Чтобы конвертировать файлы .tar.gz и .tar.bz2 в формат .7z с помощью командной строки на Windows, вам потребуется установить несколько инструментов, таких как Cygwin или использовать Windows Subsystem for Linux (WSL). Эти инструменты позволят вам выполнять команды, аналогичные тем, которые вы используете в Unix-подобных системах.
Подготовка
- Установите Cygwin или WSL:
- Для установки Cygwin, загрузите инсталлятор с официального сайта. Во время установки выберите пакеты
tar
,bzip2
иp7zip
. - Если вы решите использовать WSL, вам нужно будет установить его через PowerShell, используя команду:
wsl --install
- После установки запустите вашу Linux-дистрибуцию и выполните следующую команду для установки необходимых пакетов:
sudo apt update && sudo apt install p7zip-full
- Для установки Cygwin, загрузите инсталлятор с официального сайта. Во время установки выберите пакеты
Конвертация файлов
Теперь вы можете использовать командную строку для конвертации. Вам доступны два метода: с временным распаковкой и без. Оба метода имеют свои особенности.
Метод 1: Конвертация с распаковкой
Вы можете распаковать архивы в поток и сразу же сжать их в новый формат. Команды следует выполнять в терминале Cygwin или WSL:
Для файлов .tar.bz2
:
tar xfj filename.tar.bz2 -O | 7z a -si filename.7z
Для файлов .tar.gz
:
tar xfz filename.tar.gz -O | 7z a -si filename.7z
Важно:
- Использование ключа
-O
в командеtar
позволит выводить содержимое в стандартный поток, что дает возможность передать его непосредственно в7z
. - Однако, учитывайте, что вам может понадобиться достаточно места на диске для создания файла .7z.
Метод 2: Конвертация с временной распаковкой
Если вы предпочитаете распаковать и затем сжать, выполните следующие команды:
-
Распакуйте архив:
tar xf filename.tar.bz2 # Для tar.bz2 tar xf filename.tar.gz # Для tar.gz
-
Затем сожмите в новый формат:
7z a filename.7z folder_name/
Замените
folder_name
на папку, в которую вы распаковали файлы (это может быть текущая директория).
Альтернативные решения
Вы можете рассмотреть использование графического интерфейса для конвертации, такие как программа ArcConvert, которая поддерживает множество форматов архивов, включая .tar и .7z. Однако, для автоматизации процесса и работы с несколькими файлами одновременно, командная строка является более предпочтительным вариантом.
Заключение
Конвертация архивов .tar.gz и .tar.bz2 в .7z на Windows возможна благодаря установке соответствующих инструментов и использовании командной строки. Выбор между прямой конвертацией и временной распаковкой зависит от доступного места на диске и ваших предпочтений. Автоматизируйте процесс с помощью бат-файлов или скриптов для обработки множества файлов за один раз.