[R] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 666
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[R] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#1

Message par Boulanza »

Bonjour tout le monde,
Le code 1 ci-dessus est très pratique pour décompresser un fichier zip.
J'ai beau chercher sur les forums Autoit un moyen (script) simple pour compresser un répertoire qui contient plusieurs fichiers.
Le code 2, apparemment avec la fonction "_7ZipAdd" on peut compéter un répertoire !
Le code 1
#Include <Zip.au3>
;Pour décompresser un fichier zip
;Méthode N°1:
;~ _Zip_UnzipAll(@ScriptDir & "\AutoItFr_201712.zip", @ScriptDir & "\Test")
;;Et/Ou ===>:
;Méthode N°2:
$sZipFile = FileOpenDialog("Sélectionner une archive" , "" , "Archives ZIP (*.zip) " , 3 )
If @error Then Exit

$sFolder = FileSelectFolder("Select destination directory", "", 3)
If @error Then Exit

$iRes = _Zip_UnzipAll($sZipFile, $sFolder)
If @error Then
    MsgBox(64, "_Zip_UnzipAll", "Error @error = " & @error)
Else
    MsgBox(64, "_Zip_UnzipAll", "Success: " & $iRes)
EndIf
Code 2 :
#include <7Zip.au3>

$ArcFile = @ScriptDir & "\MyArchive.zip"

$FileName =@ScriptDir & "\Test"
If Not FileExists($FileName) Then Exit MsgBox(16, "Error", "File not exists")

$retResult = _7ZipAdd(0, $ArcFile, $FileName, 1)
If $retResult = 0 Then
    MsgBox(64, "_7ZipAdd", "Archive created successfully")
Else
    MsgBox(64, "_7ZipAdd", "Error occurred")
EndIf
Je compte sur vous pour m'aider à solutionner ce problème. Merci.
Cordialement.
Modifié en dernier par Boulanza le mer. 09 déc. 2020 16:16, modifié 1 fois.
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 48
Enregistré le : ven. 17 avr. 2020 01:23
Status : Hors ligne

Re: [..] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#2

Message par Nine »

J'ai fait un snippet sans 7z entièrement sans appui externe :

https://www.autoitscript.com/wiki/Snipp ... s_Shell.29
Boulanza
Niveau 9
Niveau 9
Messages : 666
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#3

Message par Boulanza »

Bonjour Nine,
Merci pour votre réponse.
Il marche parfaitement pour décompresser fichier zip, mais impossible de compresser répertoire ! ? à revoir
Cordialement.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 911
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#4

Message par walkson »

Bonjour,
Je ne trouve pas très courtois d'écrire à revoir (pour la deuxième fois !) surtout que le code de Nine fonctionne très bien avec des fichiers ou des dossiers :shock:
RMQ: si le Zip de destination existe, il se produit l'erreur 1 et le Zip n'est pas créé
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Boulanza
Niveau 9
Niveau 9
Messages : 666
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#5

Message par Boulanza »

Non Monsieur walkson, je n'ai jamais manqué de respect à qui que ce soit. Nine comme vous tous vous faites un travail formidable pour aider et faire aimer la programmation avec AutoIt. Le mot "à revoir" juste pour que Nine revoie son script (œuvre). Mois je suis sur Windows 10 Pro dernière vessions.
Le script de Nine marche parfaitement pour décompresser fichier zip, mais impossible de compresser répertoire ! ? ceci est vair !
RMQ: si le Zip de destination existe, il se produit l'erreur 1 et le Zip n'est pas créé. Oui c'est sûr, mais pas de message. Désolé
Modifié en dernier par Boulanza le mer. 09 déc. 2020 16:18, modifié 1 fois.
Boulanza
Niveau 9
Niveau 9
Messages : 666
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#6

Message par Boulanza »

Bonjour,
Pour faire simple: Lien pour télécharger 7za.exe https://www.tutos.eu/4995
Code 1 : Pour compresser un dossier en ligne avec 7za sous AutoIt
Func CompresserDossier()
;Run(@ScriptDir &"\7za a -mhe=on Archive1.7z"&" "&@ScriptDir&"\Temp");,"", "", @SW_HIDE)
;ET/OU
Local $Commande= @ScriptDir&"\7za"
Local $ArchiveName=@ScriptDir&"\Archived.7z"
Local $folder=@ScriptDir&"\Temp"
$param="a"&" "&$ArchiveName&" "&$folder
ShellExecuteWait($Commande, $param);, "", "", @SW_HIDE)
EndFunc
Code 2 : Pour décompresser un fichier zip en ligne avec 7za sous AutoIt
Func DecompresserDossierZip()
;Run(@ScriptDir &"\7za x -mhe=on Archive1.7z"&" "&"-o"&@ScriptDir&"\1111");,"", "", @SW_HIDE)
;ET/OU
Local $Commande= @ScriptDir&"\7za"
Local $ArchiveName=@ScriptDir&"\Archived.7z"
Local $Option01="-o"
Local $Dest=@ScriptDir&"\1111"
$param="x"&" "&$ArchiveName&" "&$Option01&$Dest
ShellExecuteWait($Commande, $param);, "", "", @SW_HIDE)
EndFunc
Cordialement.
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 48
Enregistré le : ven. 17 avr. 2020 01:23
Status : Hors ligne

Re: [R] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#7

Message par Nine »

Encore une fois le problème N'EST PAS mon script. Il a été testé des dizaines de fois par divers utilisateurs sur toutes les plateformes Windows et il ne fait pas défaut. Je viens tout juste de le retester sur Win10, et il fonctionne parfaitement. Ce coup-ci j'abdique. Désolé.
Boulanza
Niveau 9
Niveau 9
Messages : 666
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [R] Votre aide : "_7ZipAdd" est conçu pour compresser un répertoire zip mais comment ?

#8

Message par Boulanza »

Bonsoir Nine,
Je n'ai aucun doute sur vos travaux ils sont crées avec beaucoup de professionnalisme. Je crois que c'est mon nouveau Anti-Virus "360 Total Security" qui me joue des tours et c'est pas la première fois !!
Je vous prie d'accepter mes sincères excuses et je vous présente mes remerciements les plus sincères pour votre attention.
Cordialement.
Répondre