Вопрос или проблема
Я пытаюсь создать файл cab с файлами, которые содержат å, ä и/или ö в названии. Похоже, что Makecab не поддерживает шведские символы и выдает ошибку. Есть ли программа, которая может создавать файлы cab и поддерживает шведские символы?
lcab
С помощью Linux или, возможно, Windows Subsystem for Linux (WSL) вы можете использовать lcab. Убедитесь, что вы сделали резервную копию своих файлов перед продолжением. У меня не было проблем с этим программным обеспечением, но я тестировал его быстро.
Если вы щелкнете по архиву, чтобы просмотреть его содержимое, акцентированные символы могут отображаться некорректно. Тем не менее, вы можете получить список правильно акцентированных файлов и извлечь их по мере необходимости.
# Установите lcab
sudo apt install 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,...
готово
-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. Эти альтернативы не только позволяют обходить ограничения, но и предоставляют дополнительные функции, которые могут быть полезны в вашей работе.
Таким образом, вам не придется больше беспокоиться о проблемах с кодировкой при создании архивов, и вы сможете продолжать свою работу эффективно.