[R] Utilisation de 7zip.au3

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

[R] Utilisation de 7zip.au3

#1

Message par peuchere83 »

Bonjour à tous,

Je suis entrain de reprendre mes anciens scripts de compression, en utilisant 7zip.au3.
Mais j'ai un fonctionnement bizarre et je voudrais donc votre avis dessus :
Lorsque j'utilise la commande _7ZIPExtract et que je lui passe en paramètre un répertoire, il me décompresse tous les fichiers zip qui y sont contenus et ce la de manière récursive !!!!

J'ai l'impression que le programme a été conçu pour fonctionner de cette manière : est ce le cas ?

Pour palier à ce "problème" je suis donc obliger de bidouiller avec un filelisttoarray et une boucle for afin de bloquer la récursivité.

Une autre solution ?
Cordialement
Modifié en dernier par peuchere83 le mar. 13 avr. 2010 09:11, modifié 1 fois.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#2

Message par Tlem »

Quelle est la raison de passer en paramètre un répertoire alors que c'est un fichier qui est attendu ???
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#3

Message par jbnh »

Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#4

Message par peuchere83 »

Bonjour,

Ce que je cherche à faire est tout simple (je pense mais je n'y arrive pas pour l'instant :oops: ) :
Décompresser tous fichiers zip se trouvant dans un répertoire soit au même endroit, soit dans un répertoire temporaire mais en respectant l'arborescence.

Cordialement
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#5

Message par Tlem »

Haaaaa, je comprend mieux maintenant ...

En fait, vous utilisez la mauvaise fonction.
_7ZIPExtract() ne prend pas en compte l'arborescence, mais _7ZIPExtractEx() oui. ;)

Bon code. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#6

Message par peuchere83 »

Merci Tlem,


mais malheureusement je ne trouve pas la solution. J'avais déjà essayé cette fonction et quoi que je choisisse comme option, l'arborescence n'est pas recréé.

Franchement là, je suis largué.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#7

Message par Tlem »

J'utilise cette fonction pour le Pack AutoIt-FR, donc c'est sur et certain cela fonctionne.

Jetez un oeil sur le code pour voir comment je l'utilise. :wink:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#8

Message par peuchere83 »

Désolé Tlem d'être si lourd, (idem pour jbnh)

mais je viens de résoudre mon problème en une 20 aine de lignes de code !!! :oops:
Je pense qu'il est possible de faire mieux. C'est pour cela que j'insiste :mrgreen:
Là ou je sèche, c'est sur la création de l'arborescence :
J'ai un répertoire parent qui contient x répertoires qui contiennent chacun x fichiers zip.
Je souhaite recréer l'arborescence dans un fichier temporaire qui contiendra tous les fichiers zip (en respectant l'arborescence du parent).

J'ai regardé et adapté ton code du pack autoit mais pas mieux.

Cordialement.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#9

Message par Tlem »

peuchere83 a écrit :Désolé Tlem d'être si lourd
Je confirme, car un coup vous parlez de décompression et un autre coup de compression ... :shock:

Il serait souhaitable que vous détaillez très exactement ce que vous cherchez à faire.

Pour compresser des fichiers et des répertoires, c'est la fonction _7ZipAdd() avec le paramètre de récursivité si vous souhaitez les sous répertoires.

Pour extraire les fichiers et répertoires contenu dans une archive Zip ou 7z vous devez utiliser la fonction _7ZIPExtractEx() avec le paramètre de récursivité, si vous souhaitez extraire avec l'arborescence.

Je vous conseil vivement de regarder le fichier 7zip.au3 pour voir les paramètres des fonctions que vous pouvez utiliser, ainsi que les exemples fournit dans le fichier joint à ce message : http://www.autoitscript.fr/forum/viewto ... 558#p11558
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Utilisation de 7zip.au3

#10

Message par peuchere83 »

Pardon !!!!!!!!!!

Je parle uniquement de décompression.
J'ai du mal m'exprimer depuis le début car ce que je cherche à faire c'est de la décompression récursive :
de décompresser tous les fichiers zip d'une arborescence en recréant cette structure de répertoire.

J'ai pensé à tort que _7ZIPExtractEx() permettait cela, or pas du tout. Il créé l'arborescence contenue dans le fichier zip. Pour le reste (création de la structure de répertoire) il faut donc le coder.

En résumé, je me suis perdu tout seul comme un grand.

Vraiment désolé pour la perte de temps. :oops:
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Utilisation de 7zip.au3

#11

Message par Tlem »

Alors là, franchement, c'est de pire en pire ...
Je reprend votre premier message :
Lorsque j'utilise la commande _7ZIPExtract et que je lui passe en paramètre un répertoire, il me décompresse tous les fichiers zip qui y sont contenus et ce la de manière récursive !!!!

J'ai l'impression que le programme a été conçu pour fonctionner de cette manière : est ce le cas ?

Pour palier à ce "problème" je suis donc obliger de bidouiller avec un filelisttoarray et une boucle for afin de bloquer la récursivité.
et dans votre dernier message :
J'ai du mal m'exprimer depuis le début car ce que je cherche à faire c'est de la décompression récursive :
de décompresser tous les fichiers zip d'une arborescence en recréant cette structure de répertoire.
Alors si je lit bien, dans le premier vous ne voulez pas et dans le dernier message, vous voulez !!! :shock:

Franchement, si vous donniez un exemple d'archive et le résultat que vous recherchez, cela éviterait cette communication stérile et cette perte de temps totalement inutile ...
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [R] Utilisation de 7zip.au3

#12

Message par peuchere83 »

En effet Tlem vous avez raison, je n'ai pas été clair (surtout dans mon 1er post).
Lorsque j'utilise la commande _7ZIPExtract et que je lui passe en paramètre un répertoire, il me décompresse tous les fichiers zip qui y sont contenus et ce la de manière récursive !!!!

J'ai l'impression que le programme a été conçu pour fonctionner de cette manière : est ce le cas ?

Pour palier à ce "problème" je suis donc obliger de bidouiller avec un filelisttoarray et une boucle for afin de bloquer la récursivité.
Je que je voulais dire dans mon 1er message, c'est :
lors de l'utilisation de _7ZIPExtract quand je lui passe en paramètre un répertoire, il me décompresse tous les fichiers contenus même dans les sous répertoires mais sans me recréer l'arborescence (je ne parle pas de l'arborescence contenu dans les fichiers zip mais celle contenant les fichiers zip).
J'ai testé _7ZIPExtractEx et j'obtiens le même résultat.
J'ai donc du créer une fonction pour palier à ce manque.

J'espère avoir été plus clair car je suis vraiment navré de vous avoir fait perdre votre temps. :oops:

Je mettrais dorénavant du code pour faciliter la compréhension.

Cordialement.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Utilisation de 7zip.au3

#13

Message par Tlem »

Vous n'expliquez toujours pas ce que vous cherchez à faire. :cry:

En relisant plusieurs fois les messages, j'en déduit que vous cherchez à extraire des fichiers zip contenus dans une arborescence et que les fichiers extraits reste dans le dossier d'origine du fichier zip. 8)

Si c'est bien ce que vous cherchez à faire, la logique voudrait que vous utilisiez une fonction de 'scan' de votre arborescence, à la recherche des fichiers zip contenu (ceci devrait faire l'affaire : http://www.autoitscript.fr/forum/viewto ... f=21&t=479 ).

Ensuite une simple boucle de lecture du tableau résultant et l'utilisation conjointe de la fonction _7ZIPExtract() ou _7ZIPExtractEx() (selon si vous avez besoin de l'arborescence contenue dans le fichier zip) suffiront pour extraire chaque fichier zip dans le dossier d'origine de ce dernier.
Bon, bien sur il faudra jongler avec l'utilisation des dossiers, mais cela ne devrait pas représenter une trop grande difficulté. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre