home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Supremacy 1
/
Supremacy-1.iso
/
DEMOS
/
C-D
/
DOCDISK.ZIP
/
UTILS.DOC
/
STZIP_F.DOC
< prev
next >
Wrap
Text File
|
1996-12-30
|
14KB
|
380 lines
____________________________
_________ ***** ****** ****** * *****
__________________________ * * ** * * *
_________________ ** * *** * ******
________________ * * ** * *
_____________ ***** * ****** * *
______________________
STZip version 0.7
(c) Vincent Pomey 1990, 1991
[ Ce fichier contient *VOLONTAIREMENT* la documentation de STZip ]
******************
* O - Prologue *
******************
STZip est un programme permettant de compresser et de décompresser des
fichiers, c'est à dire de reduire leur taille. Vous pouvez ainsi de
gagner de la place sur vos disquettes et réduire les temps de
transmission lorsque vous échangez des fichiers par modem ou Minitel.
Il permet également de stocker plusieurs fichiers dans un seul fichier,
dont l'extension est généralement ZIP.
Il utilise des fichiers compatibles avec PKZip 1.1 sur IBM PC. Il
décompresse également les fichiers crées par PKZip 0.9 (Reducing).
Vous pouvez et êtes encouragés à copier ce programme et à le mettre en
téléchargement. Toute utilisation commerciale est interdite sans
accord. La modification du programme et de la documentation n'est pas
autorisee, sauf pour realiser une traduction.
Je décline toute responsabilité quant aux éventuels dommages pouvant
résulter de l'utilisation de ce programme. Aucune garantie n'est fournie...
Lui meme est écrit en Modula-2 et en assembleur. Pour des informations
sur le format des fichiers, lisez APPNOTE.TXT distribué avec PKZip.
----oooOooo---
Il y a plusieurs manieres d'utiliser STZip :
- en double cliquant sur STZIP.PRG, vous utiliserez l'interface GEM
- en l'installant comme application dans le bureau : cliquez sur
STZIP.PRG, choisissez dans les menus du bureau 'Installer une application',
tapez ZIP et confirmez. Vous pouvez ensuite sauver le bureau. Maintenant,
pour utiliser STZip il vous suffit de double cliquer sur un fichier .ZIP
et vous vous retrouverez dans STZip interface GEM pour traiter ce fichier.
- en renommant STZIP.PRG en STZIP.TTP et en utilisant une ligne de
commande. Bof ...
- à partir d'un Shell texte ou d'un programme externe, en utilisant
aussi une ligne de commande.
L'utilisation de l'interface GEM est plus facile. Certaines possibilités
sont présentes uniquement en GEM (les commentaires par exemple) alors que
d'autre uniquement en ligne de commande (exclure certains fichiers de la
compression par exemple).
**********************************************
* I - Utilisation avec une ligne de commande *
**********************************************
L'utilisation de STZip avec une ligne de commande est semblable à celle
de Arc ou LHarc sur Atari, et PKZip sur PC.
1 - Un tableau
--------------
+------------------------------------------------------------------+
| La syntaxe est de la forme : |
| |
| StZip commande {options} [d:\path\] zipfile {fichier} |
| |
| |
| Il doit y avoir une seule commande : |
| |
| -a ajoute des fichiers |
| °-d efface des fichiers |
| °-f 'freshen' met à jour les fichiers contenus dans le zip |
| °-u 'update' ajoute les nouveaux fichiers et met à jour |
| ceux qui sont déjà dans le zip |
| -x extrait des fichiers |
| -v liste des fichiers avec info |
| -l liste des fichiers juste avec les noms |
| -? une petite aide |
| |
| |
| Vous pouvez rajouter quelques options : |
| |
| -o écrase un fichier sans demander de confirmation lorsque |
| que le fichier existe déjà. |
| -r `compression recursive : tous les fichiers contenus dans |
| les sous catalogues que vous avez demandé de |
| compresser seront également compressés. |
| `decompression recursive : les fichiers compressés dans |
| dans sous catalogues seront décompressés dans les |
| repertoires correspondants, ces repertoires seront |
| automatiquement crées s'ils n'existent pas. |
| -p store pathname : le path des fichiers que vous avez |
| donnez dans la ligne de commande est stocké dans le zip |
| automatique lors d'une compression recursive |
| °-m 'move file' : les fichiers sont effacés après avoir été |
| compressés. |
| °-t la date du fichier .zip sera celle du fichier compressé |
| ayant la date la plus récente. |
| -z modifier le commentaire pour l'ensemble du fichier zip |
| (le commentaire est affiche a chaque traitement) |
| -h demande d'appuyer sur une touche avant de partir du |
| programme. |
| -e specifie la methode de compression : |
| -es store, aucune compression |
| -eh shrink, compression rapide |
| -ei implode, meilleure compression (defaut) |
| |
+------------------------------------------------------------------+
2 - La ligne de commande
------------------------
Vous pouvez specifier le sous catalogue par defaut pour toutes les
opérations apres les commandes et les options : par exemple d:\textes\.
Notez le \ à la fin.
Ensuite il faut mettre le nom du fichier zip qui va contenir ou
qui contient deja des fichiers compresses. L'extension .ZIP est prise par
defaut. Vous pouvez egalement donner des noms de catalogues, tous les
fichiers a l'intérieur seront alors compresses.
Après tout çà, vous mettez une liste de fichiers à traiter (ie : effacer,
compresser ou decompresser).
Vous pouvez utiliser les caracteres ? et * dans les noms de fichiers.
? remplace un seul caractere,
* remplace un nombre quelconque de caracteres.
Mettre aucun nom de fichier equivaut a mettre *.* (tous les fichiers).
3 - Liste externe
-----------------
Si un nom commence par un @, cela veut dire qu'en fait ce fichier
est une liste de fichiers à traiter. Si vous avez un fichier liste.txt
contenant par exemple :
*.mod
zip*.txt
fichier1.vdt
alors stzip -a burp @liste.txt est equivalent à
stzip -a burp *.mod zip*.txt fichier1.vdt
stzip -a burp @ lira les noms de fichiers depuis l'entrée
standard.
4 - Exclusion de fichiers
-------------------------
Si un nom commence par un ~, cela veut dire qu'il ne faut PAS le
traiter. Cela n'a un interèt uniquement quand on utilise des jokers, par
exemple pour compresser tous les fichiers sauf les fichiers .BAK, il faut
faire un truc dans le genre : stzip -a burp *.* ~*.bak ...
5 - Baratin
-----------
Il peut y avoir une liste externe dans une liste externe, mais pas
de noms ~. Les noms ~ de la ligne de commande s'appliquent pour tous les
fichiers, y compris ceux des listes externes.
Les matchs se font à la ms dos et non à la unix : *.* correspond
a tous les fichiers et pas seulement ceux avec un point dans leur nom.
Les paths avec des .. ne sont pas (toujours) supportés.
Switch -p :
si vous faites stzip -ap burp fichier\alt.txt , le nom du fichier stocké
dans le zip sera fichier\alt.txt, alors que sans le switch p, il aurait
été alt.txt. Le switch p est automatiquement actionné lors d'une
compression recursive.
6 - Compression recursive
-------------------------
Si vous avez mis l'option -r lors d'une compression, une grande chose
va se produire : les fichiers que vous donnez seront recherches également
dans tous les sous catalogues en dessous de vous.
Seconde tentative d'explication à base d'exemples, la première
n'étant compréhensible qu'après quelques heures de méditation achevées par
plusieurs aspirines.
(Pour mieux comprendre la seconde tentative, il faut savoir que les
répertoires n'existe pas en fait dans un fichier zip. C'est le path du
nom (stocké dans le .zip) du fichier qui contient des noms de sous répertoires)
rep est un répertoire.
...\ représente un nombre quelconque de répertoires, ou même aucun.
* stzip -ar burp
Tous les fichiers dans le catalogue courant sont compressés, y compris
tous les sous répertoires.
* stzip -ar burp rep
Les fichiers rep\...\*.* sont compressés.
Nom stocké \_________/ dans le fichier zip.
En clair : tous les fichiers contenus dans rep sont compressés, y
compris tous les sous catalogues se trouvant dans rep.
* stzip -ar burp rep\*.txt
Les fichiers rep\...\*.txt sont compressés.
Nom stocké \___________/ dans le fichier zip.
En clair : tous les fichiers d'extension txt présents dans rep et les
sous-répertoire de rep sont compressés.
* stzip -ar burp rep\fichier.txt
Les fichiers rep\...\fichier.txt sont compressés.
Nom stocké \_________________/ dans le fichier zip.
En clair : tous les fichiers 'fichier.txt' présent dans le
répertoire rep et dans les sous répertoire de rep seront compressés.
Il est tout à fait possible qu'un seul fichier soit trouvé. Dans ce
cas, c'est strictement identique à stzip -ap burp rep\fichier.txt.
* stzip -ar burp c:\rep
Les fichiers c:\rep\...\*.* sont compressés.
Nom stocké \_____/ dans le fichier zip.
C'est à dire que c:\rep\ n'apparaitra PAS dans le nom des fichiers
compressés, car c'est un path COMPLET, à la différence de rep\.
En utilisant également le changement du répertoire courant (du
genre stzip -ar burp c:\rep1\ rep2\*.txt) il est possible de faire toute
sorte de manipulation compliquées avec les noms des fichiers compressés.
Dans cet exemple, les fichiers d'extension txt dans c:\rep1\rep2 seront
compressés mais leur nom dans le fichier zip sera rep2\xxxxx.txt.
Il n'est JAMAIS effectué de test sur le nom des répertoires.
stzip -ar burp *.txt cherchera dans tous les répertoires, et pas
seulement dans ceux d'extension txt !
Certains shells type unix développent eux même les noms de
fichiers avec des jokers. STZip ne reagit pas de la même manière à
'stzip -ar burp rep\a.txt rep\b.txt' et à
'stzip -ar burp rep\*.txt' alors que pour le shell c'est identique.
Il est donc dans ce cas nécessaire de rajouter des apostrophes à rep\*.txt
pour que le shell ne développe pas les noms des fichiers. Idem pour le
caractère ~ qui peut poser des problèmes.
7 - Décompression recursive
---------------------------
Lorsqu'un fichier zip contient des répertoires, il y a deux
possibilitées :
-les ignorer et décompresser ce que l'on veut dans le répertoire courant,
c'est le défaut, et ca permet de décompresser rapidement un fichier
précis sans créer de nombreux répertoires.
-ou décompresser dans ces répertoires en les créant si c'est nécessaire.
Pour cela, il faut utiliser l'option -r.
Vous pouvez toujours utilisez des wildcards pour les noms des fichiers,
et rajouter des paths. Si dans les parametres vous precisez un nom avec
un path, par exemple infra\*.msg, alors tous les fichiers *.msg dans
infra ET dans les sous catalogues d'infra seront extraits.
8 - Commentaires
----------------
Le commentaire global pour le fichier zip (modifié à l'aide du
switch -z) est affiché à chaque traitement du fichier.
***************************************
* II - Utilisation de l'interface Gem *
***************************************
L'utilisation est dans le genre :
cf bouton 'Aide'
Pour avoir des infos sur l'ensemble du fichier zip, il faut faire clic
clic sur le nom du fichier zip.
Le bouton 'Sous dir. recursif' :
lors d'une compression, s'il est sélectionné, tous les sous
répertoires seront également compressé.
lors d'une décompression, s'il est sélectionné, les fichiers seront
extraits dans leur répertoire correspondant, et non dans le répertoire courant.
**************************
* III - Epilogue *
**************************
1 - Memoire
-----------
Pour aller plus vite, STZip utilise beaucoup de mémoire. Voici une liste
approximative de ses besoins :
Utilisation avec une ligne de commande : 95k
Utilisation avec l'interface Gem : 120k
auxquels on rajoute pour compresser (shrink) : 86k
compresser (implode) : beaucoup !
décompresser (unshrink) : 74k
décompresser (expand) : 20k
decompresser (explode) : maxi 80k (plus en fait)
La mémoire supplémentaire est utilisée jusqu'à 128k comme buffer.
2 - Code de retour en Command Line
----------------------------------
1 : Pas assez de mémoire
2 : Fichier non trouve
3 : Option/Commande invalide
4 : Deux Commandes spécifiées
5 : Pas de fichier zip spécifié
6 : Pas de commandes spécifiée
7 : Erreur de lecture
8 : Le fichier zip est endomagé (ou ce n'en n'est pas un)
9 : Erreur d'ecriture
10 : Warning pendant décompression, pas assez de mémoire,
fichier endommagé ou bug de comp/decomp, erreur crc, erreur e/s,
100 : Fonction non implemente
3 - Limitations
---------------
Le nombre de fichiers a l'intérieur d'un zip n'est limite que par la
mémoire disponible lors du traitement. Neamoins, les boites en gem ne
peuvent contenir que 200 fichiers chacunes (ce qui n'empeche pas un
fichier zip de plus de 200 fichiers d'etre traite correctement en gem).
Le cryptage/décryptage n'est pas et ne sera pas supporté.
4 - The end
-----------
Merci a H. Okumura pour son aide pour la compression 'sliding
dictionnary' et a Philippe Regnauld pour le logo STZIP.
Bonne utilisation !
Vincent Pomey, 28 avril 90, 13 avril 91.