Saltar al contenido principal

Empaquetar archivos con ZIP (file.zip)

Declaración

éxito_de_la_operación, mensaje_de_error = file.zip(ruta_del_zip, lista_de_archivos [, contraseña])

Parámetros

  • ruta del zip
    Tipo texto, ruta donde se guardará el archivo zip que se creará
  • lista de archivos
    Tipo tabla | Tipo texto
    • Si es una tabla: cada elemento es una tabla de dos elementos { ruta_del_archivo_de_origen, ruta_de_archivo }; “ruta de archivo” es la ruta relativa dentro del zip
    • Si es una cadena: representa una ruta de directorio y el contenido de ese directorio se empaqueta en el zip
  • contraseña
    Tipo texto, parámetro opcional; si se proporciona, crea un zip cifrado

Valores devueltos

  • éxito de la operación
    Tipo booleano; devuelve true si la operación tiene éxito y false si falla
  • mensaje de error
    Tipo texto, mensaje de error cuando la operación falla

Descripción

Comprime archivos o directorios en un archivo zip
Cuando lista de archivos es una tabla, permite controlar con precisión la ruta relativa de cada entrada dentro del zip; cuando es una cadena, empaqueta todo el contenido del directorio
Esta función solo está disponible a partir de la versión 20250914

Ejemplo

Especificar con precisión la ruta de archivo mediante una «tabla»

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

Empaquetar directamente un directorio

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

Nota: el código anterior usa la función sys.alert, que no pertenece a este capítulo.