Page 1 sur 1

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

Posté : mar. 08 déc. 2020 22:45
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.

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

Posté : mar. 08 déc. 2020 23:30
par Nine
J'ai fait un snippet sans 7z entièrement sans appui externe :

https://www.autoitscript.com/wiki/Snipp ... s_Shell.29

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

Posté : mer. 09 déc. 2020 09:39
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.

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

Posté : mer. 09 déc. 2020 11:14
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éé

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

Posté : mer. 09 déc. 2020 16:10
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é

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

Posté : mer. 09 déc. 2020 16:16
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.

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

Posté : mer. 09 déc. 2020 18:06
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é.

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

Posté : mer. 09 déc. 2020 19:56
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.