PKZipC v14 в Windows - как передать имена файлов не ASCII в файл @list
В документации PKZipC упоминается -utf8
возможность сохранять имена файлов не ASCII как UTF-8 внутри ZIP, но не говорит, как добавлять такие файлы, используя @list
аргумент pkzipc -add
,
Я пробовал несколько комбинаций бега с / без -utf8
переключаться и использовать @list
файлы, сохраненные в кодировках UTF-8 или UTF-16 с / без спецификаций, но все они потерпели неудачу.
Я задаюсь вопросом, повезло ли кому-нибудь, чтобы это сработало.
0 ответов
Как вы перепробовали все возможные комбинации -utf8
переключатель и @list
с кодировкой UTF-8 или UTF-16 и даже с / без спецификаций я не вижу, что еще вы можете сделать, используя PKZipC для Windows и его параметры.
Я бы посоветовал связаться со службой поддержки PKWARE и подать жалобу, хотя это может не сразу привести к решению.
Тем временем вам нужно будет преобразовывать имена файлов, содержащие не-ASCII-символы, в имена без таких символов. Этот формат называется краткой формой имени файла, которая в основном является старым форматом DOS имени файла 8.3. dir /x
Команда отобразит эти имена.
Для получения коротких имен для набора файлов см. Пост Как я могу найти короткий путь к каталогу / файлу Windows? где перечислены различные решения. Мне особенно понравился этот ответ, который предложил следующий однострочник:
cmd /c for %A in ("C:\Program Files") do @echo %~sA
Вот пример того, как вы можете его использовать:
Поскольку вы говорите, что ваши ИТ-специалисты решили отключить короткие имена NTFS 8.3 в общих сетевых ресурсах, я бы предложил поискать альтернативу. Некоторые из них я бы предложил:
Используя командную строку, попробуйте это:
выполнить команду
chcp 65001
изменитьcmd
кодовая страница дляutf8
Затем выполните ваши
pkzipc
команда с-utf8
Надеюсь, это поможет вам.