Sample code for 30+ languages & platforms
Xbase++

Zip -- Exclude Files Based on Wildcard Matching

See more Zip Examples

Demonstrates how to use the SetExclusions method to exclude matching files from being added to a .zip.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oZip
LOCAL oSaExcludes
LOCAL nRecurse

nSuccess := 0

oZip := CreateObject("Chilkat.Zip")

nSuccess := oZip:NewZip("qa_output/x.zip")

//  Let's add files from the directory tree rooted at C:\AAWorkarea\ChilkatSampleProjects

//  However.. we want to exclude all files ending in ".cache" or ".pdb" regardless of the sub-directory.
//  Also exclude all files under any "obj" directory,
//  and we also want to exclude any .exe found under a "win10-x64" directory.

oSaExcludes := CreateObject("Chilkat.StringArray")
oSaExcludes:Append("*.cache")
oSaExcludes:Append("*.pdb")
oSaExcludes:Append("*/obj/*")
oSaExcludes:Append("*/win10-x64/*.exe")
oZip:SetExclusions(oSaExcludes)

//  Append promises of paths and files to be zipped.
nRecurse := 1
nSuccess := oZip:AppendFiles("c:/AAWorkArea/ChilkatSampleProjects/*", nRecurse)
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    oSaExcludes:destroy()
    RETURN
ENDIF

//  Create the zip from the file and directory promises added previously.
nSuccess := oZip:WriteZipAndClose()
IF (nSuccess == 0)
    ? oZip:LastErrorText
    oZip:destroy()
    oSaExcludes:destroy()
    RETURN
ENDIF

? "Success."

oZip:destroy()
oSaExcludes:destroy()