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