Sample code for 30+ languages & platforms
Tcl

Change a Filename before Unzipping

See more Zip Examples

How to open a zip and modify the filename of one or more files within the zip before unzipping.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set zip [new_CkZip]

set success [CkZip_OpenZip $zip "test.zip"]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

set entry [new_CkZipEntry]

set success [CkZip_EntryOf $zip "hamlet.xml" $entry]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    delete_CkZipEntry $entry
    exit
}

CkZipEntry_put_FileName $entry "hamlet2.xml"

set success [CkZip_EntryOf $zip "helloWorld.pl" $entry]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    delete_CkZipEntry $entry
    exit
}

CkZipEntry_put_FileName $entry "hw.pl"

# Now unzip to the "test" subdirectory, under our current
# working directory:
set numFilesUnzipped [CkZip_Unzip $zip "test"]
if {$numFilesUnzipped < 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    delete_CkZipEntry $entry
    exit
}

# The filenames within the .zip are unchanged, but it unzipped
# test/hw.pl and test/hamlet2.xm

delete_CkZip $zip
delete_CkZipEntry $entry