跳至主要內容

使用 ZIP 打包一些檔案 (file.zip)

聲明

操作成敗, 錯誤資訊 = file.zip(zip_路徑, 檔案清單 [, 密碼])

參數

  • zip_路徑
    文字型,要建立的 zip 檔案儲存路徑
  • 檔案清單
    表型 | 文字型
    • 當為表時:每個元素是一個包含兩個元素的表 { 源檔案路徑, 歸檔路徑 },其中“歸檔路徑”表示寫入 zip 內部的相對路徑
    • 當為字串時:表示一個目錄路徑,將該目錄內容打包進 zip
  • 密碼
    文字型,可選參數,若提供則建立加密 zip

回傳值

  • 操作成敗
    布林型,操作成功返回 true,操作失敗返回 false
  • 錯誤資訊
    文字型,操作失敗時的錯誤資訊

說明

將檔案或目錄壓縮到一個 zip 檔案中
檔案清單 為表時,可精確控制每個條目寫入 zip 內部的相對路徑;當為字串時,將該目錄內容整體打包
該函式在 20250914 以後的版本方可使用

範例

以“表”精確指定歸檔路徑

local ok, err = file.zip(XXT_SCRIPTS_PATH.."/out.zip", {
{ XXT_SCRIPTS_PATH.."/data/readme.txt", "docs/readme.txt" },
{ XXT_SCRIPTS_PATH.."/assets/logo.png", "assets/images/logo.png" },
}, "123456")
if not ok then
sys.alert("打包失败:"..err)
else
sys.alert("打包成功:"..XXT_SCRIPTS_PATH.."/out.zip")
end

直接打包一個目錄

local ok, err = file.zip(XXT_SCRIPTS_PATH.."/project.zip", XXT_SCRIPTS_PATH.."/project")
if not ok then
sys.alert("打包失败:"..err)
else
sys.alert("打包成功:"..XXT_SCRIPTS_PATH.."/project.zip")
end

:上述代碼中使用了非本章函式 sys.alert