![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Iterate Through Matching ZIP Entries Using EntryMatching and ZipEntry.GetNextMatchSee more Zip ExamplesThis example demonstrates how to iterate through ZIP entries matching a wildcard pattern using:
The wildcard character The example searches for all entries beneath the Suppose the ZIP archive contains: The wildcard pattern: Matches: Note that ZIP archives may optionally contain separate directory entries. Therefore, the first matching entry may be the directory entry
load ./chilkat.dll set success 0 set zip [new_CkZip] # Open an existing ZIP archive. set success [CkZip_OpenZip $zip "c:/temp/sample.zip"] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } # ------------------------------------------------------------ # Find the first ZIP entry matching the wildcard pattern: # # docs/* # # Matching is performed against the full stored ZIP path. # set entry [new_CkZipEntry] set success [CkZip_EntryMatching $zip "docs/*" $entry] if {$success == 0} then { puts "No matching entries found." CkZip_CloseZip $zip delete_CkZip $zip delete_CkZipEntry $entry exit } # ------------------------------------------------------------ # Iterate through all matching entries. # # GetNextMatch updates the same ZipEntry object so that # it represents the next matching entry. # while {$success == 1} { if {[CkZipEntry_get_IsDirectory $entry] == 1} then { puts "{[Directory] }[CkZipEntry_fileName $entry]" } else { puts "{[File] }[CkZipEntry_fileName $entry]" } # Advance to the next matching entry. set success [CkZipEntry_GetNextMatch $entry "docs/*"] } CkZip_CloseZip $zip puts "Done." delete_CkZip $zip delete_CkZipEntry $entry |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.