使用 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