Skip to main content
7-Zip provides extensive command-line switches to control compression, extraction, and archive operations.

Switch Syntax

Switches start with - (dash) or / (forward slash) on Windows:
7z a -mx=9 -mfb=273 archive.7z files/
7z a /mx=9 /mfb=273 archive.7z files/

General Switches

-o
string
Output directory for extracted files
7z x archive.7z -o/path/to/output
-p
string
Set password for archive
7z a -pMyPassword archive.7z files/
-r
flag
Recurse subdirectories
7z a archive.7z *.txt -r
-t
string
Set archive type (7z, zip, tar, gzip, etc.)
7z a -tzip archive.zip files/
-x
string
Exclude files by pattern
7z a archive.7z * -x!*.tmp -x!*.log
-y
flag
Assume Yes on all queries
7z x archive.7z -y

Compression Switches

-mx
number
Set compression level (0-9)
  • -mx=0 - Copy mode (no compression)
  • -mx=1 - Fastest compression
  • -mx=5 - Normal compression (default)
  • -mx=7 - Maximum compression
  • -mx=9 - Ultra compression
7z a -mx=9 archive.7z files/
-m
string
Set compression method
  • -m0=LZMA2 - Use LZMA2
  • -m0=LZMA - Use LZMA
  • -m0=PPMd - Use PPMd
  • -m0=BZip2 - Use BZip2
7z a -m0=LZMA2 -mx=9 archive.7z files/
-md
string
Set dictionary size (e.g., 16m, 32m, 64m)
7z a -md=64m archive.7z files/
-mfb
number
Set number of fast bytes (5-273) for LZMA
7z a -mfb=273 archive.7z files/
-ms
string
Set solid archive mode (on/off or block size)
# Solid archive
7z a -ms=on archive.7z files/

# Solid blocks of 1GB
7z a -ms=1g archive.7z files/

# Non-solid
7z a -ms=off archive.7z files/
-mmt
number
Set number of CPU threads
# Use 4 threads
7z a -mmt=4 archive.7z files/

# Use all available threads
7z a -mmt=on archive.7z files/

Update Switches

-u
string
Update options
  • -u- - Disable archive update
  • -up0q0r2x2y2z0w2 - Complex update mode
7z u archive.7z newfile.txt -u-
-w
string
Set working directory
7z a -w/tmp archive.7z files/

Archive Handling

-v
string
Create volumes (multi-part archives)
# 100MB volumes
7z a -v100m archive.7z files/

# CD-sized volumes (700MB)
7z a -v700m archive.7z files/
-sdel
flag
Delete files after compression
7z a -sdel archive.7z files/
-sfx
string
Create self-extracting archive
7z a -sfx archive.exe files/
-ssw
flag
Compress locked files
7z a -ssw archive.7z files/

Overwrite Mode

-ao
string
Overwrite mode for extraction
  • -aoa - Overwrite all
  • -aos - Skip existing files
  • -aou - Auto rename
  • -aot - Auto rename existing
7z x archive.7z -aoa

Listing Options

-slt
flag
Show technical information
7z l -slt archive.7z
-ba
flag
Disable archiver messages
7z a -ba archive.7z files/

Examples

Maximum Compression

7z a -t7z -m0=lzma2 -mx=9 -md=64m -mfb=273 -ms=on -mmt=on archive.7z files/

Fast Compression with Multi-threading

7z a -mx=1 -mmt=4 archive.7z files/

Password-Protected Solid Archive

7z a -pMySecretPassword -mhe=on -ms=on archive.7z files/

Split Archive with Exclusions

7z a -v100m -x!*.tmp -x!*.log archive.7z files/
Switches can be combined in any order. For switches that take values, use = without spaces.

See Also

Build docs developers (and LLMs) love