Unicode C
Unicode C
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 Unicode C Downloads
#include <C_CkZipW.h>
#include <C_CkStringArrayW.h>
void ChilkatSample(void)
{
BOOL success;
HCkZipW zip;
HCkStringArrayW saExcludes;
BOOL recurse;
success = FALSE;
zip = CkZipW_Create();
success = CkZipW_NewZip(zip,L"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.
saExcludes = CkStringArrayW_Create();
CkStringArrayW_Append(saExcludes,L"*.cache");
CkStringArrayW_Append(saExcludes,L"*.pdb");
CkStringArrayW_Append(saExcludes,L"*/obj/*");
CkStringArrayW_Append(saExcludes,L"*/win10-x64/*.exe");
CkZipW_SetExclusions(zip,saExcludes);
// Append promises of paths and files to be zipped.
recurse = TRUE;
success = CkZipW_AppendFiles(zip,L"c:/AAWorkArea/ChilkatSampleProjects/*",recurse);
if (success == FALSE) {
wprintf(L"%s\n",CkZipW_lastErrorText(zip));
CkZipW_Dispose(zip);
CkStringArrayW_Dispose(saExcludes);
return;
}
// Create the zip from the file and directory promises added previously.
success = CkZipW_WriteZipAndClose(zip);
if (success == FALSE) {
wprintf(L"%s\n",CkZipW_lastErrorText(zip));
CkZipW_Dispose(zip);
CkStringArrayW_Dispose(saExcludes);
return;
}
wprintf(L"Success.\n");
CkZipW_Dispose(zip);
CkStringArrayW_Dispose(saExcludes);
}