Taux de compression Zip par défaut

joneskind

Membre confirmé
8 Mars 2010
68
0
Bonjour à tous !

Dans OSX, on peut d'un simple clic droit choisir de compresser un dossier en Zip. C'est très pratique et je l'utilisais très fréquemment pour le boulot. Malheureusement il n'y a pas dans le système de moyen simple pour augmenter la compression zip. Je sais que c'est possible puisque j'utilise maintenant iZip qui le fait très bien (mais c'est plus long évidemment) mais dont l'interface n'est vraiment pas pratique.

Ma question est donc: existe-t il une ligne de commande terminal qui me permette de modifier le taux de compression par défaut de ce formidable outil ?

Je vous remercie !
 
Les commandes zip et unzip permettent respectivement de compresser et de décompresser.
Les options de zip :
Bloc de code:
[511]$ zip -h
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -y   store symbolic links as the link instead of the referenced file
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help
Dans ton cas, l'optimum sera
Bloc de code:
zip -9 <...>

Mais il y a d'autres outils de compression disponibles dans le Terminal, qui sont encore plus efficaces et très largement reconnus sur les plates-formes traditionnelles (Ouinedoze, OS X et les autres UN*X), comme bzip2 par exemple.
 
  • J’aime
Réactions: joneskind
Quoi de plus fantastique que de recevoir une réponse aussi claire et rapide !

Merci beaucoup !

J'ai donc une autre question

Est-ce qu'il est possible de faire un script Automator qui permette de choisir entre un taux de compression normal et un taux plus élevé dans le menu contextuel ?

Merci encore !

---------- Nouveau message ajouté à 21h43 ---------- Le message précédent a été envoyé à 20h26 ----------

Ça ne marche pas

dans le terminal, j'ai essayé la commande

zip -9 /Users/moi/Downloads/monFichierÀCompresser et ça ne marche pas

Je tiens à préciser que je suis un vrai noob en la matière et que donc, je n'y connais rien...


Sinon j'ai aussi essayé avec automator de créer le service "Compression Elevée"

avec un Obtenir les éléments sélectionnés du Finder Puis
Executer un script shell avec Arguments en entrée
et la commande:

zip -9 "$@"

Mais évidemment ça ne fonctionne pas.


D'avance merci
 
Regarde bien l'aide affichée : il faut donner d'abord le nom de l'archive puis le nom du ou des fichiers à y mettre ?

Genre :
Bloc de code:
zip -9 brol.zip fichier1 fichier2 fichier3
 
Effectivement ça marche comme ça.

Mais comment je peux faire alors pour ce script automator ? Si je veux donner le même nom d'archive que le nom du dossier que je dois compresser par exemple ? Je me demande bien pourquoi ce n'est pas l'option par défaut...
 
Dernière édition:
Ça ne pourra pas être exactement le même nom : il faudra une extension (.zip) pour différencier les deux.
 
oui j'imagine bien ! je ne suis pas si noob ^_^, mais par exemple le nom du fichier avec l'extension Zip. Comme fait le système par défaut par ailleurs
 
Il faut passer le nom du dossier en paramètre d'un script, par exemple.
 
là par contre je vais avoir besoin d'aide ^_^

Sinon j'ai fait le script en mettant un nom d'archive fixe. Le problème maintenant c'est que dans l'archive créée j'ai toute l'arborescence de mon dossier utilisateur avant d'arriver au fichier proprement dit.