본문으로 건너뛰기

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를 사용합니다.