Page 1 sur 1
[R] ZIP - Remplacement de dossier
Posté : sam. 18 janv. 2014 21:17
par franco
Bonjour.
Pour un script, j'ai besoin de
4 fichiers zip.
Donc, j'utlise l'include zip.au3.
Mais chacun des scripts possèdent
les mêmes dossiers.

Donc, du coup, j'ai un fenêtre
qui me demande si j'autorise le déplacement du dossier.
Les fichiers ne sont pas les mêmes,
seul les dossiers sont identiques.
Pour faire simple, je décompresse ces 4 fichiers ZIP dans le même dossier :
c:\Program Files (x86)\GnuWin32 (pour les systèmes 64bits) ou c:\Program Files\GnuWin32 (pour les systèmes 32bits)
Voici le code :
► Afficher le textecode
Code : Tout sélectionner
#RequireAdmin
#include <file.au3>
#include <_FileListToArrayNT.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <zip.au3>
$RDL = @TempDir & "\RecursifDL\"
Global $Form1, $dirwget, $DIR_ZIPFILE = $RDL & "ZIPFILE\"
DirRemove($RDL, 1)
DirCreate($RDL)
DirRemove($DIR_ZIPFILE, 1)
DirCreate($DIR_ZIPFILE)
FileInstall("bin.zip", $DIR_ZIPFILE & "bin.zip")
FileInstall("dep.zip", $DIR_ZIPFILE & "dep.zip")
FileInstall("doc.zip", $DIR_ZIPFILE & "doc.zip")
FileInstall("src.zip", $DIR_ZIPFILE & "src.zip")
instWGET()
$Form1 = GUICreate("RecursifDL", 615, 80, 192, 124)
GUICtrlCreateLabel("Indiquez le lien où débuter le téléchargement récursif", 10, 10, 320, 20)
GUICtrlSetFont(-1, 9, 400, 0, "comic sans ms")
$iUrl = GUICtrlCreateInput('', 10, 35, 400, 20)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
DirRemove($RDL, 1)
Exit
EndSwitch
WEnd
Func instWGET()
If @OSArch = "X86" Then
$dirwget = @ProgramFilesDir & "\GnuWin32"
Else
$dirwget = @ProgramFilesDir & " (x86)\GnuWin32"
EndIf
DirRemove($dirwget, 1)
DirCreate($dirwget)
FileDelete(@WindowsDir & "\wget.exe")
$listzipfile = _FileListToArrayNT($DIR_ZIPFILE, "*.zip", 1, 2)
$Result = UBound($listzipfile) - 1
For $i = 1 To $Result
If Not @error Then
MyUnzipAllHide($listzipfile[$i], $dirwget)
EndIf
Next
MsgBox(0, "", "fini !!!")
ShellExecute($dirwget); & "\bin")
EndFunc ;==>DLWGET
Func MyUnzipAllHide($Zip, $Dest)
$oApp = ObjCreate("Shell.Application")
$oApp.Namespace($Dest).CopyHere($oApp.Namespace($Zip).Items, 4)
EndFunc ;==>MyUnzipAllHide
Quand je l'exécute, voici que ce j'obtiens comme message de demande de confirmation :
dossier bin
dossier manifest
dossier man
dossier manifest (bis)
dossier manifest (ter)
Avez-vous une idée pour ne plus avoir ces demandes ?
Merci à vous

@+
Re: [..] ZIP - Remplacement de dossier
Posté : sam. 18 janv. 2014 22:29
par mikell
Faudrait essayer pour CopyHere l'option 16 + 4 + 1024 =1044
4 : Do not display a progress dialog box.
16 : Click "Yes to All" in any dialog box displayed.
1024 : Do not display a user interface if an error occurs.
Re: [..] ZIP - Remplacement de dossier
Posté : sam. 18 janv. 2014 22:49
par franco
Salut mikell
C'est résolu
Merci beaucoup
Au fait... Tu as trouvé cela où ?
CopyHere l'option 16 + 4 + 1024 =1044
4 : Do not display a progress dialog box.
16 : Click "Yes to All" in any dialog box displayed.
1024 : Do not display a user interface if an error occurs.
J'ai cherché, mais j'ai pas trouvé ce que tu m'as (heureusement) donné.
Merci encore

Re: [..] ZIP - Remplacement de dossier
Posté : sam. 18 janv. 2014 22:59
par franco