En plus de ce que les autres ont suggéré, il est important de faire attention à vos noms de fichiers et de répertoires car Windows n'aime pas nécessairement les chemins et les noms de fichiers de Linux. Il arrive aussi qu'il les échappe différemment lors de la compression. Les exemples sont nombreux, mais le plus important fichiers à points (. et ..), fichiers avec seulement des différences de casse (nom.txt et NOM.txt), chemins de fichiers absolus (/tmp/file.txt) . Certains autres caractères autorisés dans les noms de fichiers sous Windows peuvent poser des problèmes lorsque l'explorateur Windows est utilisé pour ouvrir des fichiers. Dans mon cas, le caractère ':' a été la cause du problème, mais il a fallu beaucoup de travail pour le découvrir.
Avant de vous lancer dans l'utilisation d'un grand nombre de paramètres, je vous suggère de suivre une procédure simple :
-
Localisez le dossier ou le fichier à compresser.
-
courir : zip -9 -r -k zip-noms-modifiés.zip /path/to/votre/dossier
-
faites attention à ce que la console crache. Dans mon cas, les " :" dans les noms de fichiers ont été supprimés.
-
Déplacez le fichier zip sur une machine Windows et essayez de l'ouvrir.
Si cela fonctionne, il est préférable de supprimer les caractères qui ont été supprimés par l'option -k de vos noms de fichiers/répertoires et d'essayer de les compresser normalement. Notez que certains paramètres, comme -k, ont des effets secondaires. Dans ce cas, -k est en contradiction avec l'option -q (pour les liens sym).
L'option -k peut également rendre vos noms de fichiers illisibles. Dans mon cas, mes fichiers étaient nommés en fonction de l'heure de création (par exemple 10:55:39.pdf) pour faciliter la localisation de l'enregistrement requis dans les archives, mais l'option -k l'a transformé en 105539.pdf, ce qui n'est pas facilement lisible par les utilisateurs. J'ai donc changé les noms en 10_55_39.pdf qui s'ouvre sous Windows sans utiliser l'option -k mais qui est toujours lisible.