Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
set zip [new_CkZip]
set success [CkZip_NewZip $zip "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.
set saExcludes [new_CkStringArray]
CkStringArray_Append $saExcludes "*.cache"
CkStringArray_Append $saExcludes "*.pdb"
CkStringArray_Append $saExcludes "*/obj/*"
CkStringArray_Append $saExcludes "*/win10-x64/*.exe"
CkZip_SetExclusions $zip $saExcludes
# Append promises of paths and files to be zipped.
set recurse 1
set success [CkZip_AppendFiles $zip "c:/AAWorkArea/ChilkatSampleProjects/*" $recurse]
if {$success == 0} then {
puts [CkZip_lastErrorText $zip]
delete_CkZip $zip
delete_CkStringArray $saExcludes
exit
}
# Create the zip from the file and directory promises added previously.
set success [CkZip_WriteZipAndClose $zip]
if {$success == 0} then {
puts [CkZip_lastErrorText $zip]
delete_CkZip $zip
delete_CkStringArray $saExcludes
exit
}
puts "Success."
delete_CkZip $zip
delete_CkStringArray $saExcludes