Существует ли альтернатива makecab.exe?

Вопрос или проблема

Я пытаюсь создать файл cab с файлами, которые содержат å, ä и/или ö в названии. Похоже, что Makecab не поддерживает шведские символы и выдает ошибку. Есть ли программа, которая может создавать файлы cab и поддерживает шведские символы?

lcab

С помощью Linux или, возможно, Windows Subsystem for Linux (WSL) вы можете использовать lcab. Убедитесь, что вы сделали резервную копию своих файлов перед продолжением. У меня не было проблем с этим программным обеспечением, но я тестировал его быстро.

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

# Установите lcab
sudo apt install lcab

руководство по lcab

-r ; зацикливает рекурсивно через каталоги

lcab -r * Swedish.cab

lcab v1.0b12 (2003) by Rien ([email protected])
nopath          : no
recursive       : yes
quiet           : no
inputfiles      : affärskvinna.odt aftonmåltid.pdf folder/adjö.txt 
outputfile      : Swedish.cab
cabfile         : 374862 bytes (approx. 366.08 Kbytes)
cfileInit: affärskvinna.odt localtime:
cfileInit: aftonmåltid.pdf localtime:
cfileInit: folder\adjö.txt localtime:
tmp,header,folder,...
готово

руководство по cabextract

-l ; перечисляет содержимое данных файлов кабинета, а не извлекает их. Не думаю, что вам нужно устанавливать cabextract, если у вас уже есть lcab.

 cabextract -l Swedish.cab

 Размер файла | Дата       Время     | Имя
-----------+---------------------+-------------
    114323 | 12.03.2024 11:49:36 | affärskvinna.odt
     69425 | 12.03.2024 11:48:58 | aftonmåltid.pdf
    183907 | 15.03.2024 16:41:50 | folder/adjö.txt

Все сделано, ошибок нет.

Извлечение файлов из архивов Microsoft cabinet (.cab)

cabextract Swedish.cab 

Извлечение шкафа: Swedish.cab
извлечение affärskvinna.odt
извлечение aftonmåltid.pdf
извлечение folder/adjö.txt

Все сделано, ошибок нет.

На Windows вы можете использовать PowerArchiver (и я думаю, что что-то, что правильно использует cabinet.dll, а не makecab.exe).

Пример использования с их инструментами командной строки:

pacomp -a output.cab C:\some\folder

Ответ или решение

Вопрос: Существует ли альтернатива для makecab.exe?

При создании файлов в формате CAB (Cabinet) с использованием утилиты makecab.exe вы можете столкнуться с проблемами, особенно если ваши файлы содержат специальные символы, такие как шведские буквы (å, ä, ö). К сожалению, makecab.exe не поддерживает такие символы, что может стать препятствием в вашей работе. Вместо этого рассмотрим несколько альтернативных решений.

1. Линейка lcab

lcab — это инструмент, доступный на Linux и Windows через подсистему Windows для Linux (WSL). Эта утилита может оказаться отличным выбором, если вам нужно создать CAB-файлы с поддержкой шведских символов.

Установка lcab

Для установки lcab на Linux выполните следующую команду:

sudo apt install lcab

Использование lcab

Вы можете создать каталог в формате CAB, используя следующую команду:

lcab -r * Swedish.cab

Здесь -r указывает на рекурсивное добавление файлов из директории. Вы сможете создавать CAB-файлы, содержащие имена с нужными вам символами.

Проверка содержимого

Чтобы просмотреть содержание созданного CAB-файла, вы можете использовать утилиту cabextract:

cabextract -l Swedish.cab

Это покажет список файлов в архиве без распаковки, что может быть полезно для проверки имен:

 File size | Date       Time     | Name
-----------+---------------------+-------------
    114323 | 12.03.2024 11:49:36 | affärskvinna.odt
     69425 | 12.03.2024 11:48:58 | aftonmåltid.pdf
    183907 | 15.03.2024 16:41:50 | folder/adjö.txt

2. PowerArchiver на Windows

Если вы работаете в Windows, вы можете рассмотреть использование PowerArchiver. Этот инструмент поддерживает формат CAB и правильно обрабатывает специальные символы, за счет чего может стать надежной альтернативой makecab.exe.

Пример использования PowerArchiver

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

pacomp -a output.cab C:\some\folder

Эта команда позволит вам создать CAB-файл, который будет содержать файлы с шведскими символами в именах.

Заключение

Использование lcab или PowerArchiver даст вам возможность создавать CAB-файлы, поддерживающие шведские символы, что является решением проблемы, с которой вы столкнулись при использовании makecab.exe. Эти альтернативы не только позволяют обходить ограничения, но и предоставляют дополнительные функции, которые могут быть полезны в вашей работе.

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

Оцените материал
Добавить комментарий

Капча загружается...