PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Zip
oleobject loo_SaExcludes
integer li_Recurse
li_Success = 0
loo_Zip = create oleobject
li_rc = loo_Zip.ConnectToNewObject("Chilkat.Zip")
if li_rc < 0 then
destroy loo_Zip
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Zip.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.
loo_SaExcludes = create oleobject
li_rc = loo_SaExcludes.ConnectToNewObject("Chilkat.StringArray")
loo_SaExcludes.Append("*.cache")
loo_SaExcludes.Append("*.pdb")
loo_SaExcludes.Append("*/obj/*")
loo_SaExcludes.Append("*/win10-x64/*.exe")
loo_Zip.SetExclusions(loo_SaExcludes)
// Append promises of paths and files to be zipped.
li_Recurse = 1
li_Success = loo_Zip.AppendFiles("c:/AAWorkArea/ChilkatSampleProjects/*",li_Recurse)
if li_Success = 0 then
Write-Debug loo_Zip.LastErrorText
destroy loo_Zip
destroy loo_SaExcludes
return
end if
// Create the zip from the file and directory promises added previously.
li_Success = loo_Zip.WriteZipAndClose()
if li_Success = 0 then
Write-Debug loo_Zip.LastErrorText
destroy loo_Zip
destroy loo_SaExcludes
return
end if
Write-Debug "Success."
destroy loo_Zip
destroy loo_SaExcludes