Code: Select all
Procedure Add2ZIP(Chemin.s, Fichiers.s)
Protected Rep.l, entre.s
If Not Right(Chemin, 1) = "\" : Chemin+"\" : EndIf
If Not Right(Fichiers, 1) = "\" : Fichiers+"\" : EndIf
Debug Chemin
Rep = ExamineDirectory(#PB_Any, Chemin, "")
If Rep
While NextDirectoryEntry(Rep)
entre = DirectoryEntryName(Rep)
If entre = "." Or entre = ".."
Continue
ElseIf DirectoryEntryType(Rep) = #PB_DirectoryEntry_File
PureZIP_Archive_Compress(RemoveString(Chemin+entre, Fichiers), #True)
Debug "ZIP: "+RemoveString(Chemin+entre, Fichiers)+" ("+Str(FileSize(Chemin+entre))+")"
Else
Add2ZIP(Chemin+entre+"\", Fichiers)
EndIf
Wend
FinishDirectory(Rep)
EndIf
EndProcedure
Archive$ = "C:\Archive.zip"
RepSource$ = "C:\Temp\"
;SetCurrentDirectory_(@RepSource$)
If PureZIP_Archive_Create(Archive$, #APPEND_STATUS_CREATE)
Add2ZIP(RepSource$, RepSource$)
PureZIP_Archive_Close() : CloseWindow(Window_0)
EndIf