Sample code for 30+ languages & platforms
Lua

Unzip all Files to a Single Directory (Ignoring Subdirectories in Zip)

See more Zip Examples

Demonstrates how to unzip all files into a single directory, ignoring the internal directory structure of the files in the .zip.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local outDir = "c:/temp/testUnzipDir"

-- Make sure our output directory exists.
local fac = chilkat.FileAccess.new()
local success = fac:dir_ensure_exists(outDir)
if not success then
    print(fac.last_error_text)
    return
end

local zip = chilkat.Zip.new()

-- In this example, the xml_files.zip contains some files in the subdirectories "dir1" and also "dir2/dir3".

-- a1.xml
-- b1.xml
-- c1.xml
-- dir1/a2.xml
-- dir1/c2.xml
-- dir2/dir3/c3.xml

success = zip:open_zip("qa_data/zips/xml_files.zip")
if not success then
    print(zip.last_error_text)
    return
end

-- Unzip all files into the directory c:/temp/testUnzipDir
local numUnzipped = zip:unzip_into(outDir)
if numUnzipped < 0 then
    print(zip.last_error_text)
    return
end

print("Num unzipped = " .. numUnzipped)

-- After unzipping via UnzipInto, we have this:

-- c:\temp\testUnzipDir\a1.xml
-- c:\temp\testUnzipDir\b1.xml
-- c:\temp\testUnzipDir\c1.xml
-- c:\temp\testUnzipDir\a2.xml
-- c:\temp\testUnzipDir\c2.xml
-- c:\temp\testUnzipDir\c3.xml

zip:close_zip()

print("Success.")