Zum Hauptinhalt springen

Dateien als ZIP packen (file.zip)

Deklaration

erfolg, fehlermeldung = file.zip(zip_Pfad, Dateiliste [, Passwort])

Parameter

  • zip_Pfad
    Text; Speicherpfad der zu erstellenden ZIP-Datei
  • Dateiliste
    Tabelle oder Text
    • Bei einer Tabelle: Jedes Element ist eine Tabelle mit zwei Elementen { Quellpfad, Archivpfad }; „Archivpfad“ ist der relative Pfad innerhalb der ZIP-Datei.
    • Bei einer Zeichenkette: Gibt einen Verzeichnispfad an; der Inhalt dieses Verzeichnisses wird in die ZIP-Datei gepackt.
  • Passwort
    Text; optional, bei Angabe wird eine verschlüsselte ZIP-Datei erstellt

Rückgabewerte

  • Erfolg
    Boolescher Wert; bei Erfolg true, bei Fehlschlag false
  • Fehlermeldung
    Text; Fehlermeldung bei einem Fehlschlag

Beschreibung

Komprimiert Dateien oder Verzeichnisse in eine ZIP-Datei.
Wenn Dateiliste eine Tabelle ist, kann der relative Pfad jedes Eintrags innerhalb der ZIP-Datei exakt gesteuert werden; bei einer Zeichenkette wird der gesamte Verzeichnisinhalt gepackt.
Erst in Versionen nach 20250914 verfügbar

Beispiel

Archivpfade mit einer Tabelle exakt angeben

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

Ein Verzeichnis direkt packen

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

Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht zu diesem Kapitel gehört.