Page 1 sur 2
[R] Comment zippé des fichiers avec autoit
Posté : mar. 27 juil. 2010 15:46
par amouna98
Bonjour
je suis entraîne de faire one application qui recherche des informations chez le client les classes dans des fichiers que je dois compresser pour ensuite l’envoyer par mail ou par ftp et tout ça dois être purement automatique
Mais je ne sais pas s’il y a un moyen pour compresser les fichiers automatiquement
Re: [..]comment zippé des fichiers avec autoit
Posté : mar. 27 juil. 2010 15:56
par Jerome
Coucou,
Utiliser ceci

:
Vous aurez alors toutes les possibilitées que vous offre Winrar pour pouvoir archiver vos fichier automatiquement en ligne de commande.
Après, il vous suffit de mettre ceci dans votre code avec un Run ou un RunAs, voir un ShellExecute.
Jérôme.
Re: [..]comment zippé des fichiers avec autoit
Posté : mar. 27 juil. 2010 16:19
par jbnh
Re: [..]comment zippé des fichiers avec autoit
Posté : mer. 28 juil. 2010 09:59
par amouna98
Sur les serveurs que je vais utiliser je ne pe pas installé le rar ou le zip !!!!
Re: [..] Comment zippé des fichiers avec autoit
Posté : mer. 28 juil. 2010 21:01
par sylvanie
D'où l'intérêt d'utiliser le lien proposé par Jbnh.
Cet Udf est quasiment autonome (à la recopie des 2 dll prêt en local)
l'exple d'illustration montre comment zipper. les appels pour le dezip sont presque les même
pour fonction de dezip, il suffit juste de créer une fonction ne faisant rien (si on est pressé) pour la renseigner dans l'init (argment concernant le replace)
voici un morceau de code vite fait pour illustrer :
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <Zip32.au3>
Global $CurZipSize = 0
$file=@ScriptDir&"\tst.zip"
$UnCompSize = FileGetSize($file)
_UnZIP_Init("_ZIPPrint","_ZipReplace", "_ZIPPassword", "_ZIPComment", "_ZIPProgress")
_UnZIP_SetOptions()
_UnZIP_Unzip($file,@ScriptDir,1)
Func _ZIPPrint($sFile, $sPos)
ConsoleWrite("!> _ZIPPrint: " & $sFile & @LF)
EndFunc
Func _ZipReplace($sFile)
ConsoleWrite("!> Zipreplace "&$sFile&@LF)
Return 1
EndFunc
Func _ZIPPassword($sPWD, $sX, $sS2, $sName)
Local $iPass = InputBox("Archive encrypting set", "Enter the password", "", "", 300, 120)
If $iPass = "" Then Return 1
Local $PassBuff = DllStructCreate("char[256]", $sPWD)
DllStructSetData($PassBuff, 1, $iPass)
EndFunc
Func _ZIPComment($sComment)
Local $iComment = InputBox("Archive comment set", "Enter the comment", "", "", 300, 120)
If $iComment = "" Then Return 1
Local $CommentBuff = DllStructCreate("char[256]", $sComment)
DllStructSetData($CommentBuff, 1, $iComment)
EndFunc
Func _ZIPProgress($sName, $sSize)
$CurZipSize += Number($sSize)
Local $iPercent = Round(($CurZipSize / $UnCompSize * 100))
ConsoleWrite($iPercent&@LF)
EndFunc
Re: [..] Comment zippé des fichiers avec autoit
Posté : mer. 28 juil. 2010 21:40
par Tlem
Sinon, il y à aussi cet UDF qui ne fait appel qu'à une seule DLL de petite taille :
http://www.autoitscript.fr/forum/viewto ... =21&t=1943
7Zip sait gérer les archives 7z et Zip.

Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 09:05
par amouna98
sylvanie a écrit :D'où l'intérêt d'utiliser le lien proposé par Jbnh.
Cet Udf est quasiment autonome (à la recopie des 2 dll prêt en local)
l'exple d'illustration montre comment zipper. les appels pour le dezip sont presque les même
pour fonction de dezip, il suffit juste de créer une fonction ne faisant rien (si on est pressé) pour la renseigner dans l'init (argment concernant le replace)
voici un morceau de code vite fait pour illustrer :
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <Zip32.au3>
Global $CurZipSize = 0
$file=@ScriptDir&"\tst.zip"
$UnCompSize = FileGetSize($file)
_UnZIP_Init("_ZIPPrint","_ZipReplace", "_ZIPPassword", "_ZIPComment", "_ZIPProgress")
_UnZIP_SetOptions()
_UnZIP_Unzip($file,@ScriptDir,1)
Func _ZIPPrint($sFile, $sPos)
ConsoleWrite("!> _ZIPPrint: " & $sFile & @LF)
EndFunc
Func _ZipReplace($sFile)
ConsoleWrite("!> Zipreplace "&$sFile&@LF)
Return 1
EndFunc
Func _ZIPPassword($sPWD, $sX, $sS2, $sName)
Local $iPass = InputBox("Archive encrypting set", "Enter the password", "", "", 300, 120)
If $iPass = "" Then Return 1
Local $PassBuff = DllStructCreate("char[256]", $sPWD)
DllStructSetData($PassBuff, 1, $iPass)
EndFunc
Func _ZIPComment($sComment)
Local $iComment = InputBox("Archive comment set", "Enter the comment", "", "", 300, 120)
If $iComment = "" Then Return 1
Local $CommentBuff = DllStructCreate("char[256]", $sComment)
DllStructSetData($CommentBuff, 1, $iComment)
EndFunc
Func _ZIPProgress($sName, $sSize)
$CurZipSize += Number($sSize)
Local $iPercent = Round(($CurZipSize / $UnCompSize * 100))
ConsoleWrite($iPercent&@LF)
EndFunc
sauf que j ai pas le droi de metre des dll nn plus !!!
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 09:07
par amouna98
j ai meme pas a une dll !!!!
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 09:24
par ricky
Hello,
Et en prenant la dll dans l'exe, la dé-compiler quand tu en as besoin puis la supprimer ensuite?
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 12:08
par amouna98
ah non pas de DLL je pense a utiliser une commande dos mais j ai pas encore trouuvé
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 12:23
par amouna98
c'est ma derniere chance

Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 12:50
par ricky
Oui, mais qui dit une commande dit que tu dois avoir un .exe qui zippe et tu ne peux/veux rien installer, donc c'est impossible. Le minimum possible est la dll.
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 12:53
par amouna98
ricky a écrit :Oui, mais qui dit une commande dit que tu dois avoir un .exe qui zippe et tu ne peux/veux rien installer, donc c'est impossible. Le minimum possible est la dll.
pas de soucie pour un .exe
j ai deja 2

la seul contrainte c est la DLL
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 13:50
par ricky
Je t'ai trouvé la solution ultime...
Tu télécharges
PowerArchiver Command Line 4.01 c'est gratuit, la nouvelle version est payante :
PowerArchiver Command Line 6.0
Tu décompresses et tu prends que le fichier PACOMP.EXE et par exemple voici une commande :
pacomp -a docs.zip "comp\*.*"
-> Ajoute tous les fichiers du répertoire comp dans le docs.zip.
Mais regarde le manual.txt il y a pas mal d'exemples.
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 14:00
par amouna98
oups je pense pas que ça serai possible non plus
Mon projet consiste a rechercher des infos de chez le client, les mettre dans des fichiers puis me les envoyer automatiquement. et je veux qu il compresse les fichiers avant de les envoyés
je vais mettre mon .exe en tache planifier. je ne peut pas installé chez le client autre choses
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 14:13
par ricky
Mais là, tu n'installes rien, tu prends juste le programme PACOMP.EXE compilé dans ton programme auto-it et c'est tout.
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 14:22
par amouna98
ricky a écrit :Je t'ai trouvé la solution ultime...
Tu télécharges
PowerArchiver Command Line 4.01 c'est gratuit, la nouvelle version est payante :
PowerArchiver Command Line 6.0
Tu décompresses et tu prends que le fichier PACOMP.EXE et par exemple voici une commande :
pacomp -a docs.zip "comp\*.*"
-> Ajoute tous les fichiers du répertoire comp dans le docs.zip.
Mais regarde le manual.txt il y a pas mal d'exemples.
je trouve pa le fichier PACOMP.EXE !!!
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 14:34
par ricky
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 15:12
par amouna98
ricky a écrit :Et le voilà...
PACOMP.zip
ca marche pas du tt ( j'utilise le .exe sans telecharger le logiciel)
d'otre coté je pense pas que je peut l'automatisé
il faut le faire a la main
Re: [..] Comment zippé des fichiers avec autoit
Posté : ven. 30 juil. 2010 15:15
par ricky
Donne nous ton script