Lorsque je compresse un dossier ou un fichier par un menu contextuel de Mac OS X, le fichier archivé contient les dossiers .DS_Store et __MACOSX . Étant donné que je partage le fichier archivé en ligne pour téléchargement, les utilisateurs de Windows tentent par erreur de rechercher le fichier dans le dossier __MACOSX .
J'ai besoin d'une option d'archivage plus propre. Je ne souhaite pas inclure .DS_Store et le dossier __MACOSX , mais uniquement le fichier ou le dossier dans le fichier d'archive.
Tout ce que j'ai trouvé est CleanArchiver mais c'est une application GUI. Cela prend vraiment du temps et j'ai beaucoup de fichiers à compresser. Je recherche une solution par menu contextuel si possible.
Y a-t-il une solution que vous pouvez recommander pour une compression propre?
zip
pour créer le fichier zip, "__MACOSX /" ne sera pas créé en premier lieu, donc tout ce dont vous avez vraiment besoin estzip -r dir.zip .
. Cependant, si "__MACOSX /" s'y glisse d'une manière ou d'une autre, votre solution s'en débarrassera.zipinfo dir.zip
Juste quelques informations supplémentaires ...
Ma compréhension est que __MACOSX est un sous-répertoire créé artificiellement par les outils de l'interface graphique Mac pour contenir des métadonnées telles que des attributs étendus qui ne peuvent normalement pas être enregistrés dans un fichier zip.
Si vous utilisez les outils de l'interface graphique Mac pour décompresser le fichier zip, les outils sauront quoi faire avec __MACOSX et le répertoire ne sera pas réellement décompressé.
Les problèmes se produisent lorsque vous envoyez votre fichier .zip à des utilisateurs Windows ou Linux, ou utilisez simplement le programme général
unzip
pour les décompresser. Ces outils ne sauront pas que __MACOSX est spécial et le déballeront simplement.L'option la plus simple est d'utiliser
zip
pour emballer votre fichier zip au lieu de l'outil intégré Mac.zip
ne créera pas __MACOSX et votre problème est résolu. (Vous perdrez les métadonnées au cours du processus, mais vous ne le vouliez probablement pas de toute façon.)S'il est trop tard et que vous avez déjà un fichier zip avec __MACOSX, vous pouvez toujours le supprimer avec:
Enfin, la réponse acceptée est la meilleure parce que si pour une raison quelconque __MACOSX existe réellement dans votre répertoire (par exemple parce que vous l'avez déjà utilisé
unzip
pour le créer), l'option -x l'empêchera d'être emballée.la source
Essayez Keka . Il est livré avec une option pour exclure .DS_Store
la source
Le seul que j'ai jamais vraiment utilisé est BetterZip [20 $]
Il s'agit d'une application graphique, mais elle prend en charge Applescript & Services, avec laquelle vous pouvez exécuter des préréglages avec vos paramètres par défaut - y compris en omettant les fichiers spécifiques à Mac comme .DS_Store & __MACOSX. Peut-être mérite un coup d'oeil.
Dans l'aide BetterZip ...
Un de mes presets de sauvegarde ...
la source