Sample code for 30+ languages & platforms
Rust

Zip a Directory Tree

See more Zip Examples

Demonstrates how to zip an entire directory tree into a .zip archive.

Chilkat Rust Downloads

Rust

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let zip = chilkat::Zip::new();

if zip.new_zip("test.zip").is_err() {
    println!("{}", zip.last_error_text());
    return;
}

// Append a directory tree.  The call to AppendFiles does
// not read the file contents or append them to the zip
// object in memory.  It simply appends references
// to the files so that when WriteZip or WriteZipAndClose 
// is called, the referenced files are streamed and compressed
// into the .zip output file.

let recurse = true;
if zip.append_files("c:/temp/a/*", recurse).is_err() {
    println!("{}", zip.last_error_text());
    return;
}

if zip.write_zip_and_close().is_err() {
    println!("{}", zip.last_error_text());
    return;
}

println!("Zip Created!");