(Tcl) Another Path-in-Zip Example

Chilkat Tcl Extension Downloads

load ./chilkat.dll
set zip [new_CkZip]
set success [CkZip_UnlockComponent $zip "anything for 30-day trial"]
if {[expr $success != 1]} then {
puts "Failed to unlock zip component"
delete_CkZip $zip
exit
}
# Intialize the zip object by calling NewZip.set success [CkZip_NewZip $zip "myZip.zip"]
# Add references to files:set recurse 1set success [CkZip_AppendFiles $zip "c:\\temp\\a\\subdir1\\*" $recurse]
# Assuming that the file c:\temp\a\subdir1\dude.gif exists,# the .zip will contain "dude.gif" without any path information.# The component has no# choice but to use "c:\\temp\\a\\subdir1" as the root.# It's not possible for the component to know if you# wanted subdir1\ or a\subdir1\ or temp\a\subdir1# paths prefixed for each file added.# To control the path within the zip, set the AppendFromDir# directory and then use a relative path in AppendFiles.# For example:CkZip_put_AppendFromDir $zip "c:\\temp\\a"set success [CkZip_AppendFiles $zip "subdir1\\*" $recurse]
# This causes c:\temp\a\subdir1\dude.gif to be added as# "subdir1\dude.gif" within the .zip.# If you need the path within the .zip to be "a\subdir", then# do this:CkZip_put_AppendFromDir $zip "c:\\temp"set success [CkZip_AppendFiles $zip "a\\subdir1\\*" $recurse]
set success [CkZip_WriteZipAndClose $zip]
delete_CkZip $zip