Perl
Chilkat2 Perl
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 Perl Downloads
use strict;
use warnings;
use Chilkat2;
my $zip = Chilkat2::Zip->new;
my $success = $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.
my $saExcludes = Chilkat2::StringArray->new;
$saExcludes->Append('*.cache');
$saExcludes->Append('*.pdb');
$saExcludes->Append('*/obj/*');
$saExcludes->Append('*/win10-x64/*.exe');
$zip->SetExclusions($saExcludes);
# Append promises of paths and files to be zipped.
my $recurse = 1;
$success = $zip->AppendFiles('c:/AAWorkArea/ChilkatSampleProjects/*', $recurse);
if (!$success) {
print $zip->LastErrorText, "\n";
exit;
}
# Create the zip from the file and directory promises added previously.
$success = $zip->WriteZipAndClose();
if (!$success) {
print $zip->LastErrorText, "\n";
exit;
}
print "Success.\n";