7z(1)

NAME
7z - 7-Zip file archiver with a high compression ratio

SYNOPSIS
7z command [switches...] archive_name [file_names] [@listfile]
7zz command [switches...] archive_name [file_names] [@listfile]
7za command [switches...] archive_name [file_names] [@listfile]
7zr command [switches...] archive_name [file_names] [@listfile]

DESCRIPTION
7-Zip file archiver with a high compression ratio
There are some variants for 7z executable.

7z  Full featured with plugin support

7zz Full featured single binary executable with no plugins support

7za Supports major formats only, no plugins, but smaller executable size

7zr Only supports LZMA codec and related formats (7z, lzma, xz), no plugins, but smallest executable size

Important Note of 7zip behavior
When used without any file_names argument, 7z implicitly uses "." for file_names. This behavior leads some unexpected result.

"a" (add) command
    Recursively add files from current directory into archive_name file.

"d" (delete) command
    Recursively delete files from archive_name file. This means delete all files from archive_name file.

OPTIONS

  Commands

a   Add files to archive

b   Benchmark

d   Delete files from archive

e   Extract files from archive (without using directory names)

h   Calculate hash values for files

i   Show information about supported formats

l   List contents of archive

rn  Rename files in archive

t   Test integrity of archive

u   Update files to archive

x   eXtract files with full paths

  Switches

--  Stop switches and @listfile parsing

-ai[r[-|0]]{@listfile|!wildcard}
    Include archives

-ax[r[-|0]]{@listfile|!wildcard}
    eXclude archives

-ao{a|s|t|u}
    set Overwrite mode

-an disable archive_name field

-bb[0-3]
    set output log level

-bd disable progress indicator

-bs{o|e|p}{0|1|2}
    set output stream for output/error/progress line

-bt show execution time statistics

-i[r[-|0]]{@listfile|!wildcard}
    Include filenames

-m{Parameters}
    set compression Method
    -mmt[N]
        set number of CPU threads
    -mx[N]
        set compression level: -mx1 (fastest) ... -mx9 (ultra)

    -mcp=[codepage number]
        [Extra options for Zip format]:
        Use codepage number for internal file name encoding in the archive file. When 7-Zip detects legacy (MS-DOS etc.) Zip format, 7-Zip automatically choose suitable legacy encoding codepage number for internal file name encoding by your current locale, and converts to UTF-8 for external file name encoding. If automatic codepage chooser fails, use this option to manually set codepage number.
        (example): Use "-mcp=437" for CP437

-o{Directory}
    set Output directory

-p{Password}
    set Password

-r[-|0]
    Recurse subdirectories for name search

-sa{a|e|s}
    set Archive name mode

-scc{UTF-8|WIN|DOS}
    set charset for for console input/output

-scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}}
    set charset for list files

-scrc[CRC32|CRC64|SHA1|SHA256|*]
    set hash function for x, e, h commands

-sdel
    delete files after compression

-seml[.]
    send archive by email

-sfx[{name}]
    Create SFX archive

-si[{name}]
    read data from stdin

-slp
    set Large Pages mode

-slt
    show technical information for l (List) command

-snh
    store hard links as links

-snl
    store symbolic links as links

-sni
    store NT security information

-sns[-]
    store NTFS alternate streams

-so write data to stdout

-spd
    disable wildcard matching for file names

-spe
    eliminate duplication of root folder for extract command

-spf
    use fully qualified file paths

-spo{d|c|r}
    specifies the path generation mode for the output directory for archive extraction. The output directory path is generated from the path specified in the -o{dir_path} switch and the name of the archive being unpacked.
    -spod
        for Linux/Posix/macOS: -o{dir_path} specifies the direct path to the output directory. The asterisk (*) character in {dir_path} will not be replaced by the archive name.
    -spoc
        7-Zip will concatenate the path specified in -o{dir_path} with the archive name to form the final path to the output directory.
    -spor
        7-Zip will replace asterisk (*) character in the path specified in the -o{dir_path} with the archive name. This is the default option.

-ssc[-]
    set sensitive case mode

-sse
    stop archive creating, if it can't open some input file

-ssp
    do not change Last Access Time of source files while archiving

-ssw
    compress shared files

-stl
    set archive timestamp from the most recently modified file

-stm{HexMask}
    set CPU thread affinity mask (hexadecimal number)

-stx{Type}
    exclude archive type

-t{Type}
    Set type of archive

-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]
    Update options

-v{Size}[b|k|m|g]
    Create volumes

-w[{path}]
    assign Work directory. Empty path means a temporary directory

-x[r[-|0]]{@listfile|!wildcard}
    eXclude filenames

-y  assume Yes on all queries

SEE ALSO
7-Zip https://www.7-zip.org/

COPYRIGHT
Copyright © 1999-2026 Igor Pavlov.
Distributed under the LGPL-2.1+ license.