В дополнение к тому, что предложили другие, важно обратить внимание на имена ваших файлов и каталогов, поскольку Windows не обязательно любит путь и имена файлов Linux. Это иногда также ускользает от них по-разному при архивировании. Примерами являются многочисленные, но наиболее важные точечные файлы (. И ..), файлы с разницей только в регистре (name.txt и NAME.txt), абсолютные пути к файлам (/tmp/file.txt) . Некоторые другие символы, которые разрешены в именах файлов в Windows, могут вызывать проблемы при использовании Проводника Windows для открытия файлов. В моем случае характер «:» был решающим фактором, но потребовалось много работы, чтобы выяснить это.
Поэтому, прежде чем вы возобновите использование множества параметров, я предлагаю выполнить простую процедуру:
Найдите папку или подайте ваш архив.
запустите: zip -9 -r -k zip-modified-names.zip / path / to / your / folder
- обратите внимание на то, что консоль выплевывает. В моем случае ':' в именах файлов были удалены.
- Переместите zip-файл на компьютер с Windows и попробуйте открыть его.
Если это работает, возможно, лучше удалить символы, которые были удалены опцией -k, из имен файлов / каталогов, попробуйте выполнить обычную архивацию. Обратите внимание, что некоторые параметры, такие как -k, имеют побочные эффекты. В этом случае -k противоречит опции -q (для ссылок sym).
Также опция -k может сделать ваши имена файлов нечитаемыми. В моем случае мои файлы были названы в зависимости от времени создания (например, 10: 55: 39.pdf), чтобы упростить поиск нужной записи в архивах, но опция -k изменила ее на 105539.pdf, что нелегко прочитать пользователям. Поэтому я изменил имена на 10_55_39.pdf, который открывается в Windows без использования опции -k, но все еще доступен для чтения.