kz.exe 사용 예제
kz.exe 는 KingZip 의 명령줄 도구입니다. ZIP / 7z / TAR / GZ / BZ2 / XZ / KZ / WIM / Zipx 등을 콘솔에서 압축 · 해제 · 목록 · 무결성 검사할 수 있습니다. 배치 파일이나 PowerShell 스크립트로 자동화하기에 적합합니다.
빠른 시작 (TL;DR)
kz l archive.zip REM 목록 보기 kz x archive.zip -o:C:\Out -y REM 풀기 (전체 경로 유지) kz c -fmt:zip out.zip file1 dir1\ REM ZIP 만들기 (고속) kz c -fmt:7z -l:5 out.7z file1 dir1\ REM 7z 만들기 (LZMA2 mt) kz t archive.7z REM 무결성 검사
kz 또는 kz --help / kz -h / kz /? / kz help 로 볼 수 있습니다.
명령어 한눈에 보기
| 명령 | 의미 | 동의어 / 비고 |
|---|---|---|
a | Add files to archive | 기존 압축 파일에 파일 추가 |
c | Create new archive | 신규 (또는 덮어쓰기) |
d | Delete files from archive | 압축 안 풀고 항목 삭제 |
e | Extract (flat) | 폴더 구조 무시, 파일만 추출 |
l | List contents | 간단 목록 |
v | Verbose list | 상세 목록 (CRC, 비율, 시각 등) |
rn | Rename inside archive | 압축 안 풀고 이름 변경 |
t | Test integrity | 무결성 검사 (CRC + 데이터 전체 디코드) |
x | eXtract (full path) | 폴더 구조 유지 (기본값처럼 자주 씀) |
기본 문법
kz <command> [<switches>...] <archive> [<files>...] [<path_to_extract>]
<command>하나 (a/c/d/e/l/rn/t/v/x)<switches>0개 이상 (-l:5,-p:비밀번호,-y등 — 순서 무관)<archive>처리할 압축 파일 경로<files>입력/대상 파일 목록 (압축할 때, 또는 부분 추출/삭제 시 필터)<path_to_extract>일부 명령에서 추출 위치 (또는-o:사용)
-- 를 사용합니다 (이후 토큰은 모두 위치 인자로 처리).
스위치 (옵션) 전체 목록
| 스위치 | 의미 | 예 |
|---|---|---|
-l:N | 압축 레벨 (0=Store, 1=Fastest, 3=Fast, 5=Normal(기본), 7=Maximum, 9=Ultra) | -l:9 |
-r | 하위 폴더 재귀 (c/a 기본 ON) | -r |
-r- | 재귀 OFF | -r- |
-p:비밀번호 | 비밀번호 (ZIP 기본=ZipCrypto, 7z=AES-256, KZ=AES-256-CTR) | -p:s3cret |
-mem:방식 | ZIP 암호화 방식 (zipcrypto, aes128, aes192, aes256) | -mem:aes256 |
-o:폴더 | 추출 대상 폴더 | -o:D:\Out |
-y | 모든 질문에 자동 Yes (자동화 스크립트용) | -y |
-aoa | 충돌 시 모두 덮어쓰기 | |
-aos | 충돌 시 모두 건너뛰기 | |
-aou | 충돌 시 자동 이름 변경 (file (2).txt) | |
-fmt:포맷 | 압축 형식 강제 지정 (확장자 불일치 시) | -fmt:7z |
-mm:방식 | ZIP 압축 방식 (deflate, deflate64, lzma, bzip2, ppmd) | -mm:deflate |
-v:크기 | 분할 압축 단위 (k/m/g 접미사) | -v:100m |
-sfx[:모듈] | SFX (자체 압축해제 EXE) 생성 | -sfx 또는 -sfx:7z.sfx |
-mmt[N] | CPU 스레드 수 (0=Auto, 미지정 시 0) | -mmt8 |
-bd | 진행률 표시 끄기 (스크립트용) | -bd |
-target:auto | 추출 시 폴더 자동 결정 | |
-target:name | 압축 파일명 폴더 안에 추출 | |
-- | 스위치 스캔 중단 | kz x in.zip -- -file.txt |
-fmt: 가 받는 값: zip, 7z, tar, gz/gzip/tgz, bz2/tbz2, xz/txz, wim, kz/kip, zipx (zipx 는 내부 ZIP 으로 매핑).
-l: 레벨 → 내부 매핑
-l: | CompressionLevel | 비고 |
|---|---|---|
0 | Store | 무압축 (저장만) |
1 | Fastest | |
2, 3 | Fast | |
4, 5 | Normal | -l: 미지정 시 기본 |
6, 7 | Maximum | |
8, 9 | Ultra |
명령어별 상세 예제
3.1 l / v — 목록 보기
REM 간단 목록 kz l photos.zip REM 상세 (수정시각, CRC, 비율 등) kz v backup.7z REM 비밀번호 걸린 파일 — 헤더 암호화면 -p 필수, 아니면 목록은 비번 없이도 보임 kz v secret.7z -p:비밀번호
3.2 t — 무결성 검사
REM 모든 항목 디코드해서 CRC 검증 kz t backup.7z REM 비밀번호 + 자동 진행 kz t secret.zip -p:비밀번호 -y REM 진행률 끄고 결과만 kz t big.7z -bd
종료 코드 0 = 정상, 비-0 = 손상/오류 (자세히는 종료 코드 표 참고).
3.3 x — 풀기 (폴더 구조 유지)
REM 현재 폴더에 풀기 (기본) kz x sources.zip REM 특정 폴더로 kz x sources.zip -o:C:\workspace REM 자동 Yes (덮어쓰기 묻지 않음) kz x sources.zip -o:C:\workspace -y -aoa REM 압축 파일명 폴더 안에 풀기 (sources.zip → C:\out\sources\) kz x sources.zip -o:C:\out -target:name REM 부분 추출 (특정 파일/폴더만) kz x sources.zip -o:C:\out src\main.c README.md REM 비밀번호 + 충돌 시 자동 이름 변경 kz x archive.zip -p:비밀번호 -aou
3.4 e — 풀기 (flat, 폴더 구조 무시)
REM 모든 파일을 한 폴더에 평탄하게 (subdir/foo.txt → foo.txt) kz e archive.zip -o:C:\flat REM 같은 이름 파일 충돌 시 자동 이름 변경 kz e archive.zip -o:C:\flat -aou
3.5 c — 새로 압축
REM ZIP (확장자 보고 자동 감지) kz c out.zip file1 file2 dir1 REM ZIP 방식 지정 + 기본 레벨(5) kz c -fmt:zip -mm:deflate -l:5 out.zip file1 dir1\ REM 7Z (LZMA2 멀티스레드) kz c -fmt:7z -l:5 out.7z file1 dir1\ REM ZIP 비밀번호 기본값: ZipCrypto kz c -fmt:zip -mm:deflate -l:5 -p:비밀번호 secret.zip confidential\ REM ZIP AES-256 kz c -fmt:zip -mm:deflate -l:5 -p:비밀번호 -mem:aes256 secret-aes.zip confidential\ REM 7Z 최대 압축 + 비밀번호 (AES-256) kz c -fmt:7z -l:9 -p:비밀번호 secret.7z confidential\ REM 비-재귀 (디렉터리 들어가지 않음) kz c out.zip -r- topfile.txt some_dir\ REM 분할 압축 (각 100 MB) kz c -v:100m parts.7z huge_folder\ REM SFX (자체 압축해제 EXE — 7z만 해당) kz c -fmt:7z -sfx installer.exe payload\ REM 사용자 정의 SFX 모듈 kz c -fmt:7z -sfx:custom.sfx out.exe payload\ REM CPU 스레드 8개로 제한 kz c -mmt8 out.zip dir\ REM TAR + GZ 한 번에 (.tar.gz 는 -fmt:gz 또는 .tgz 확장자) kz c out.tar.gz src\ kz c -fmt:tgz out.tgz src\ REM TAR + BZ2 kz c -fmt:bz2 out.tar.bz2 src\ kz c -fmt:tbz2 out.tbz2 src\ REM TAR + XZ kz c -fmt:xz out.tar.xz src\ REM WIM (Windows Imaging Format) kz c -fmt:wim sysimage.wim system\
3.6 a — 기존 압축 파일에 추가
REM ZIP/7z 에 파일 추가 (재귀 기본) kz a out.zip newfile.txt newdir\ REM 충돌 시 모두 덮어쓰기 kz a out.zip changed_file.txt -aoa
.z01/.001 동반), SFX(MZ 시그니처), 헤더 암호 7z 는 추가 불가 (7-Zip 과 동일 동작).
3.7 d — 압축 안에서 항목 삭제
REM ZIP 의 특정 파일 삭제 (압축 다시 풀지 않고 메타데이터만 갱신) kz d archive.zip docs\old.pdf REM 폴더 통째 삭제 kz d archive.zip build\
3.8 rn — 압축 안에서 이름 바꾸기
REM old → new (한 쌍씩 인자로 전달) kz rn archive.zip src\old.cpp src\new.cpp REM 여러 쌍 한 번에 kz rn archive.zip a.txt aa.txt b.txt bb.txt
자주 쓰는 시나리오 모음
4.1 일일 백업 스크립트 (Batch)
@echo off
set DATE=%date:~0,4%%date:~5,2%%date:~8,2%
kz c -fmt:7z -l:7 -p:!secret! ^
"D:\backup\proj-%DATE%.7z" ^
"C:\projects\my_repo" ^
-bd -y
if errorlevel 1 echo BACKUP FAILED & exit /b 1
echo Done: D:\backup\proj-%DATE%.7z
-bd진행률 끔 → 로그 깨끗-y자동 Yes → 무인 실행-l:7Maximum (속도/크기 균형)
4.2 대용량 폴더 ZIP
REM 16 스레드로 ZIP 압축 (CPU 풀가동) kz c -mmt16 -l:5 huge.zip big_folder\
작업 관리자에서 kz.exe 의 CPU 사용률이 16 스레드만큼 올라감을 확인할 수 있습니다.
4.3 100 MB 단위 분할 7z
kz c -fmt:7z -l:5 -v:100m bundle.7z src\ REM 결과: bundle.7z.001, bundle.7z.002, ...
4.4 SFX (자체 실행 압축)
kz c -fmt:7z -sfx kingzip_payload.exe files\ REM 사용자가 kingzip_payload.exe 실행하면 7-Zip-zstd SFX 가 풀어줌
4.5 구조 보존 추출 + 충돌 시 덮어쓰기
kz x src.zip -o:D:\restore -y -aoa
4.6 손상 검사 후 추출 (자동화)
kz t src.7z -bd && kz x src.7z -o:D:\out -y
&& 는 앞 명령이 0(성공)일 때만 다음을 실행합니다. PowerShell 에서는 if ($LASTEXITCODE -eq 0) { ... }.
4.7 비밀번호 ZIP — 빠른 검증
kz l secret.zip -p:비밀번호 > nul && echo OK || echo WRONG
4.8 다중 비밀번호 후보 자동 시도
for %P in (pwd1 pwd2 pwd3) do @kz l x.zip -p:%P > nul 2>&1 && echo Found: %P && goto :end
:end
환경 변수 (튜닝)
| 변수 | 효과 | 예 |
|---|---|---|
KZ_PAR=1 | kz x archive.zip 시 UnifiedDecoder 우회 → 즉시 ParallelExtractor 직행 (벤치마크/측정용) | set KZ_PAR=1 && kz x huge.zip |
KZ_WRITERS=N | ZIP 추출 시 writer 스레드 수 (1~16, 기본 hw/2 캡 4) | set KZ_WRITERS=8 |
KZ_TIMING=1 | 추출 단계별 시간 출력 (성능 분석) | set KZ_TIMING=1 |
스레드 수 기본값
-mmt0또는 미지정: 레지스트리HKCU\Software\KingZip\MaxCoreCount(없으면 코어 수). 상한 32 (MAX_WORKER_THREADS).-mmtN(N>0): 강제 N 스레드.
종료 코드
| 코드 | 의미 |
|---|---|
0 | 정상 |
1 | 일반 오류 (예: 파일 없음) |
2 | 인자 오류 (-h 출력 후 종료 시) |
7 | 사용자 취소 |
8 | 메모리 부족 |
| 기타 | bit7z / 디코더 내부 오류 코드 |
스크립트에서 활용 (Batch)
kz t in.zip -bd
if errorlevel 1 (
echo TEST FAILED
exit /b 1
)
PowerShell
& kz t in.zip -bd
if ($LASTEXITCODE -ne 0) { Write-Host "FAILED" -ForegroundColor Red }