PureBasic
PureBasic
Create Zip Excluding Files Matching Patterns
See more Zip Examples
How to create a .zip archive excluding (skipping) files that match a set of wildcarded patterns.Chilkat PureBasic Downloads
IncludeFile "CkZip.pb"
IncludeFile "CkStringArray.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
zip.i = CkZip::ckCreate()
If zip.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkZip::ckNewZip(zip,"test.zip")
If success <> 1
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Create a string array object with our set of filename patterns
; to be excluded:
sa.i = CkStringArray::ckCreate()
If sa.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringArray::ckAppend(sa,"*.bak")
success = CkStringArray::ckAppend(sa,"*.tmp")
; Tell the zip object to use these exclusions:
CkZip::ckSetExclusions(zip,sa)
; Append a directory tree. The AppendFiles does
; not read the file contents or append them to the zip
; object in memory. It simply appends references
; to the files so that when WriteZip (or WriteZipAndClose,
; or WriteExe, etc.) is called, the files are compressed
; and encrypted.
recurse.i = 1
success = CkZip::ckAppendFiles(zip,"/temp/a/*",recurse)
success = CkZip::ckWriteZipAndClose(zip)
If success <> 1
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
CkStringArray::ckDispose(sa)
ProcedureReturn
EndIf
Debug "Zip Created!"
CkZip::ckDispose(zip)
CkStringArray::ckDispose(sa)
ProcedureReturn
EndProcedure