Sample code for 30+ languages & platforms
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 C++ Downloads

C++
#include <CkZip.h>
#include <CkStringArray.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkZip zip;

    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.

    CkStringArray saExcludes;
    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.
    bool recurse = true;
    success = zip.AppendFiles("c:/AAWorkArea/ChilkatSampleProjects/*",recurse);
    if (success == false) {
        std::cout << zip.lastErrorText() << "\r\n";
        return;
    }

    // Create the zip from the file and directory promises added previously.
    success = zip.WriteZipAndClose();
    if (success == false) {
        std::cout << zip.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Success." << "\r\n";
    }