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