Sample code for 30+ languages & platforms
Tcl

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set zip [new_CkZip]

set zipPath "c:/temp/myFiles.zip"

# Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
CkZip_NewZip $zip $zipPath

# Append references to files to be zipped.
set recurse 1
set success [CkZip_AppendFiles $zip "c:/temp/files_to_zip/*" $recurse]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Write the .zip and close the zip file (and clears the zip object).
set success [CkZip_WriteZipAndClose $zip]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

puts "Successfully created $zipPath"

# If the following files existed under c:/temp/files_to_zip

# c:/temp/files_to_zip/aaa/pigs.json
# c:/temp/files_to_zip/bbb/base64Cert.txt
# c:/temp/files_to_zip/bbb/sub1/brasil_cert.pem
# c:/temp/files_to_zip/bbb/sub2/penguins.gif
# c:/temp/files_to_zip/bbb/sub2/starfish.jpg
# c:/temp/files_to_zip/hamlet.xml
# c:/temp/files_to_zip/hello.pdf

# then the zip we created would contain:

# aaa/pigs.json
# bbb/base64Cert.txt
# bbb/sub1/brasil_cert.pem
# bbb/sub2/penguins.gif
# bbb/sub2/starfish.jpg
# hamlet.xml
# hello.pdf

delete_CkZip $zip