Xbase++
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
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()