(Tcl) Change a Filename before Unzipping
How to open a zip and modify the filename of one or more files within the zip before unzipping.
load ./chilkat.dll
# 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 != 1} then {
puts [CkZip_lastErrorText $zip]
delete_CkZip $zip
exit
}
# entry is a CkZipEntry
set entry [CkZip_GetEntryByName $zip "hamlet.xml"]
# Assume entry is non-null. If GetEntryByName failed
# to find the entry, it returns a null reference.
CkZipEntry_put_FileName $entry "hamlet2.xml"
delete_CkZipEntry $entry
set entry [CkZip_GetEntryByName $zip "helloWorld.pl"]
CkZipEntry_put_FileName $entry "hw.pl"
delete_CkZipEntry $entry
# 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
exit
}
# The filenames within the .zip are unchanged, but it unzipped
# test/hw.pl and test/hamlet2.xm
delete_CkZip $zip
|