Gestion complète de zip - zipdezip

Description

'caractéristiques de l'application :
'en VB.NET pur à 100% (pas d'install ni ocx ni dll particulière...) =>OK
'compatible 100 % avec Izarc => OK
'prise en compte accentués,espaces... => OK
'création, modifications , avec ou sans arborescences.=>OK
'création de dossiers, déplacement de fichier d'un dossier à l'autre => OK
'design type explorateur windows - 2 fenetres treewiev et listview => OK
'Visu par double clic de tout fichier du Zip (extraction + lancement d'un temporaire effacé en sortie) => 0K
'modif commentaire global du ZIP => OK
'supprimer,renommer un fichier ,le déplacer vers un autre dossier du Zip
'le crypter, lui ajouter un commentaire et un mot de passe => OK
'Extractions multiples, extractions d'un dossier ... vers une destination choisie => 0K
'visu de la structure d'un ZIP , et d'un fichier du Zip => OK
'Modification du contenu par visu/modification d'un fichier du Zip => OK
'glissés, drag and drop , et ligne de commande =>OK

Source / Exemple :


Structure d'un ZIP : voir zip.doc dans ressources...
Mémento des options de la ligne de commande de ZipDeZip.exe :
Une  seul argument avec paires clé=valeur (ne doit pas contenir d'espace,sinon mettre entre guillemets)
Exemple de programmation :  Shell (ZipDeZip.EXE  "?nomzip=d:\tests\essai 0.zip&action=extraction",vbhide)
?nomzip=chemin/nom.zip  : chemin d'accés du Zip  , suivi -  sans espace - des paires séparées par & : 
&action=nouveau ou ajout ou extraction ou suppression ou remplacement
&base=cheminrelatif : OPTIONNEL (si omis : conservation chemins absolus sinon chemin Zip, si vide=> racine Zip
&listedossfich=chemfich1 ou fich1;chemdossier2 ou dossier2;etc...  : OPTIONNEL 
                    => liste des fichiers-dossiers avec chemin absolus si action = ajout-creation-remplacement
                    => ou fichiers sans chemins, et dossiers relatif à la racine du zip si action = extractions-suppression
&destination=dossierextraction : OPTIONNEL
                    => si omis extraction sur place , si contient x:=> destination absolu, sinon destination relative au Zip 

Exemples testés avec espaces et accentués:  

- Création (avec chemins absolus  conservés)  ==> zipdezip.exe "?nomzip=d:\tests zipdezip\essai 0.zip&action=nouveau&listedossfich=D:\autorun.inf;d:\usr\dossier testé"
       => (sans arborescence)         "?nomzip=d:\tests zipdezip\essai 1.zip&base=&action=nouveau&listedossfich=D:\autorun.inf;d:\usr\dossier testé"
      =>  (avec chemin relatif fixé)   "?nomzip=d:\tests zipdezip\essai 2.zip&base=essai 2&action=nouveau&listedossfich=D:\autorun.inf;d:\usr\dossier testé"
- Extraction sur place  ==> zipdezip.exe "?nomzip=d:\tests zipdezip\essai 0.zip&action=extraction"
      =>dans un dossier "?nomzip=d:\tests zipdezip\essai 2.zip&action=extraction&destination=d:\extraction"
- Extraction partielle ==> zipdezip.exe "?nomzip=d:\tests zipdezip\essai 0.zip&action=extraction&listedossfich=autorun.bat;usr/test"
- Ajouts  (avec conservation chemin)==>  "?nomzip=d:\tests zipdezip\essai 0.zip&action=ajout&listedossfich=d:\usr\bin\c2ph.bat"
      => (dans la racine)==>  "?nomzip=d:\tests zipdezip\essai 0.zip&action=ajout&base=&listedossfich=d:\usr\test"
      =>(dans chemin relatif fixé)==>  "?nomzip=d:\tests zipdezip\essai 0.zip&action=ajout&base=ajouté&listedossfich=d:\usr\test"
- Suppression  (supprime tous les fichiers de ce nom (plusieurs possibles si arborescence), quelque soit son dossier dans le Zip) "?nomzip=d:\tests zipdezip\essai 0.zip&action=suppression&listedossfich=autorun.inf;donnees.ico"
- Remplacements  (avant Ajout, supprime tous les fichiers de ce nom (plusieurs possibles si arborescence)   "?nomzip=d:\tests zipdezip\essai 0.zip&action=remplacement&listedossfich=D:\autorun.inf"

Conclusion :


Pour tout savoir sur la structure d'un Zip.
à complémenter : le cryptage, que j'ai baclé avec un Xor clé.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.