DataFlex
DataFlex
Unzip an Entire ZIP Archive While Preserving Directory Structure
See more Zip Examples
Extract an Entire ZIP Archive While Preserving Directory Structure This example demonstrates how to use the Unzip method to extract all files and directories from a ZIP archive.
The example shows how the stored ZIP directory structure is recreated beneath the target extraction directory.
Suppose the ZIP archive contains:
aaa/pigs.json
bbb/base64Cert.txt
bbb/sub1/brasil_cert.pem
bbb/sub2/penguins.gif
bbb/sub2/starfish.jpg
hamlet.xml
hello.pdf After extraction to:
c:/temp/testDir The following filesystem structure will be created:
c:/temp/testDir/aaa/pigs.json
c:/temp/testDir/bbb/base64Cert.txt
c:/temp/testDir/bbb/sub1/brasil_cert.pem
c:/temp/testDir/bbb/sub2/penguins.gif
c:/temp/testDir/bbb/sub2/starfish.jpg
c:/temp/testDir/hamlet.xml
c:/temp/testDir/hello.pdf If the target extraction directory does not already exist, it is automatically created.
The Unzip method returns the number of files extracted, or -1 if the extraction fails.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoZip
Integer iNumFilesUnzipped
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatZip)) To hoZip
If (Not(IsComObjectCreated(hoZip))) Begin
Send CreateComObject of hoZip
End
// Open an existing ZIP archive.
Get ComOpenZip Of hoZip "qa_data/zips/sample.zip" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoZip To sTemp1
Showln sTemp1
Procedure_Return
End
// ------------------------------------------------------------
// Extract all files to:
//
// c:/temp/testDir
//
// If the target directory does not already exist,
// Chilkat will automatically create it.
//
// The Unzip method recreates the stored ZIP directory
// structure beneath the target directory.
//
Get ComUnzip Of hoZip "c:/temp/testDir" To iNumFilesUnzipped
If (iNumFilesUnzipped < 0) Begin
Get ComLastErrorText Of hoZip To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Number of files extracted = " iNumFilesUnzipped
Showln ""
// ------------------------------------------------------------
// Suppose the ZIP archive contains these entries:
//
// aaa/pigs.json
// bbb/base64Cert.txt
// bbb/sub1/brasil_cert.pem
// bbb/sub2/penguins.gif
// bbb/sub2/starfish.jpg
// hamlet.xml
// hello.pdf
//
// After extraction, the following files will exist:
//
// c:/temp/testDir/aaa/pigs.json
// c:/temp/testDir/bbb/base64Cert.txt
// c:/temp/testDir/bbb/sub1/brasil_cert.pem
// c:/temp/testDir/bbb/sub2/penguins.gif
// c:/temp/testDir/bbb/sub2/starfish.jpg
// c:/temp/testDir/hamlet.xml
// c:/temp/testDir/hello.pdf
//
// The ZIP directory structure is preserved during extraction.
// Close the ZIP archive.
Send ComCloseZip To hoZip
Showln "Unzip completed successfully."
End_Procedure