                             User's Manual
                             ~~~~~~~~~~~~~
                        RAR 5.50 console version
                        ~~~~~~~~~~~~~~~~~~~~~~~~

                       =-=-=-=-=-=-=-=-=-=-=-=-=-=-
                       Welcome to the RAR Archiver!
                       -=-=-=-=-=-=-=-=-=-=-=-=-=-=

 Introduction
 ~~~~~~~~~~~~

    RAR is a console application allowing to manage archive files
  in command line mode. RAR provides compression, encryption,
  data recovery and many other functions described in this manual.

    RAR supports only RAR format archives, which have .rar file name
  extension by default. ZIP and other formats are not supported.
  Even if you specify .zip extension when creating an archive, it will
  still be in RAR format. Windows users may install WinRAR, which supports
  more archive types including RAR and ZIP formats.

    WinRAR provides both graphical user interface and command line mode.
  While console RAR and GUI WinRAR have the similar command line syntax,
  some differences exist. So it is recommended to use this rar.txt manual
  for console RAR (rar.exe in case of Windows version) and winrar.chm
  WinRAR help file for GUI WinRAR (winrar.exe).


 Configuration file
 ~~~~~~~~~~~~~~~~~~

  RAR and UnRAR for Unix read configuration information from .rarrc file
  in a user's home directory (stored in HOME environment variable)
  or in /etc directory.

  RAR and UnRAR for Windows read configuration information from rar.ini file,
  placed in the same directory as the rar.exe file.

  This file may contain the following string:

  switches=<any RAR switches separated by spaces>

  For example:

  switches=-m5 -s

  It is also possible to specify separate switch sets for individual
  RAR commands using the following syntax:

  switches_<command>=<any RAR switches separated by spaces>

  For example:

  switches_a=-m5 -s
  switches_x=-o+



 Environment variable
 ~~~~~~~~~~~~~~~~~~~~

    Default parameters may be added to the RAR command line by establishing
    an environment variable "RAR".

    For instance, in Unix following lines may be added to your profile:

      RAR='-s -md1024'
      export RAR

    RAR will use this string as default parameters in the command line and
    will create "solid" archives with 1024 KB sliding dictionary size.

    RAR handles options with priority as following:

       command line switches                   highest priority
       switches in the RAR variable            lower priority
       switches saved in configuration file    lowest priority


 Log file
 ~~~~~~~~

  If the switch -ilog is specified in the command line or configuration
  file, RAR will write informational messages, concerning errors
  encountered while processing archives, into a log file. Read switch
  -ilog description for more details.


 The file order list for solid archiving - rarfiles.lst
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  rarfiles.lst contains a user-defined file list, which tells RAR
  the order in which to add files to a solid archive. It may contain
  file names, wildcards and special entry - $default. The default
  entry defines the place in order list for files not matched
  with other entries in this file. The comment character is ';'.

  In Windows this file should be placed in the same directory as RAR
  or in %APPDATA%\WinRAR directory, in Unix - to the user's home directory
  or in /etc.

  Tips to provide improved compression and speed of operation:

  - similar files should be grouped together in the archive;
  - frequently accessed files should be placed at the beginning.

  Normally masks placed nearer to the top of list have a higher priority,
  but there is an exception from this rule. If rarfiles.lst contains such
  two masks that all files matched by one mask are also matched by another,
  that mask which matches a smaller subset of file names will have higher
  priority regardless of its position in the list. For example, if you have
  *.cpp and f*.cpp masks, f*.cpp has a higher priority, so the position of
  'filename.cpp' will be chosen according to 'f*.cpp', not '*.cpp'.


 RAR command line syntax
 ~~~~~~~~~~~~~~~~~~~~~~~

 Syntax

    RAR <command>  [ -<switches> ]  <archive>  [ <@listfiles...> ]
        [ <files...> ]  [ <path_to_extract\> ]

 Description

    Command line options (commands and switches) provide control of
    creating and managing archives with RAR. The command is a string (or a
    single letter) which commands RAR to perform a corresponding action.
    Switches are designed to modify the way RAR performs the action. Other
    parameters are archive name and files to be archived into or extracted
    from the archive.

    Listfiles are plain text files that contain names of files to process.
    File names should start at the first column. It is possible to
    put comments to the listfile after // characters. For example,
    you may create backup.lst containing the following strings:

    c:\work\doc\*.txt         //backup text documents
    c:\work\image\*.bmp       //backup pictures
    c:\work\misc

    and then run:

       rar a backup @backup.lst

    If you wish to read file names from stdin (standard input),
    specify the empty listfile name (just @).

    By default, console RAR uses the single byte encoding in list files,
    but it can be redefined with -sc<charset>l switch.

    You may specify both usual file names and list files in the same
    command line. If neither files nor listfiles are specified,
    then *.* is implied and RAR will process all files.

    Many RAR commands, such as extraction, test or list, allow to use
    wildcards in archive name. If no extension is specified in archive
    mask, RAR assumes .rar, so * means all archives with .rar extension.
    If you need to process all archives without extension, use *. mask.
    *.* mask selects all files. Wildcards in archive name are not allowed
    when archiving and deleting.

    In Unix you need to enclose RAR command line parameters containing
    wildcards in single or double quotes to prevent their expansion
    by Unix shell. For example, this command will extract *.asm files
    from all *.rar archives in current directory:

       rar e '*.rar' '*.asm'


    Command could be any of the following:

    a       Add files to archive.

            Examples:

            1) add all *.hlp files from the current directory to
            the archive help.rar:

            rar a help *.hlp

            2) archive all files from the current directory and subdirectories
            to 362000 bytes size solid, self-extracting volumes
            and add the recovery record to each volume:

            rar a -r -v362 -s -sfx -rr save

            Because no file names are specified, all files (*) are assumed.

            3) as a special exception, if directory name is specified as
            an argument and if directory name does not include file masks
            and trailing backslashes, the entire contents of the directory
            and all subdirectories will be added to the archive even
            if switch -r is not specified.

            The following command will add all files from the directory
            Bitmaps and its subdirectories to the RAR archive Pictures.rar:

            rar a Pictures.rar Bitmaps

            4) if directory name includes file masks or trailing backslashes,
            normal rules apply and you need to specify switch -r to process
            its subdirectories.

            The following command will add all files from directory Bitmaps,
            but not from its subdirectories, because switch -r is not
            specified:

            rar a Pictures.rar Bitmaps\*


    c       Add archive comment. Comments are displayed while the archive is
            being processed. Comment length is limited to 256 KB.

            Examples:

            rar c distrib.rar

            Also comments may be added from a file using -z[file] switch.
            The following command adds a comment from info.txt file:

            rar c -zinfo.txt dummy


    ch      Change archive parameters.

            This command can be used with most of archive modification
            switches to modify archive parameters. It is especially
            convenient for switches like -cl, -cu, -tl, which do not
            have a dedicated command.

            It is not able to recompress, encrypt or decrypt archive data
            and it cannot merge or create volumes. If used without any
            switches, 'ch' command just copies the archive data without
            modification.

            Example:

            Set archive time to latest file:

            rar ch -tl files.rar


    cw      Write archive comment to specified file.

            Format of output file depends on -sc switch.

            If output file name is not specified, comment data will be
            sent to stdout.

            Examples:

            1) rar cw arc comment.txt

            2) rar cw -scuc arc unicode.txt

            3) rar cw arc


    d       Delete files from archive. Please note if the processing of this
            command results in removing all the files from the archive,
            the empty archive would removed.


    e       Extract files without archived paths.

            Extract files excluding their path component, so all files
            are created in the same destination directory.

            Use 'x' command if you wish to extract full pathnames.

            Example:

            rar e -or html.rar *.css css\

            extract all *.css files from html.rar archive to 'css' folder
            excluding archived paths. Rename extracted files automatically
            in case several files have the same name.


    f       Freshen files in archive. Updates archived files older
            than files to add. This command will not add new files
            to the archive.


    i[i|c|h|t]=<string>
            Find string in archives.

            Supports following optional parameters:

              i - case insensitive search (default);

              c - case sensitive search;

              h - hexadecimal search;

              t - use ANSI, Unicode and OEM character tables (Windows only);

            If no parameters are specified, it is possible to use
            the simplified command syntax i<string> instead of i=<string>

            It is allowed to specify 't' modifier with other parameters,
            for example, ict=string performs case sensitive search
            using all mentioned above character tables.

            Examples:

            1) rar "ic=first level" -r c:\*.rar *.txt

            Perform case sensitive search of "first level" string
            in *.txt files in *.rar archives on the disk c:

            2) rar ih=f0e0aeaeab2d83e3a9 -r e:\texts\*.rar

            Search for hex string f0 e0 ae ae ab 2d 83 e3 a9
            in rar archives in e:\texts directory.


    k       Lock archive. Any command which intends to change the archive
            will be ignored.

            Example:

            rar k final.rar


    l[t[a],b]
            List archive contents [technical [all], bare].
    
            'l' command lists archived file attributes, size, date,
            time and name, one file per line. If file is encrypted,
            line starts from '*' character.

            'lt' displays the detailed file information in multiline mode.
            This information includes file checksum value, host OS,
            compression options and other parameters.

            'lta' provide the detailed information not only for files,
            but also for service headers like NTFS streams
            or file security data.

            'lb' lists bare file names with path, one per line,
            without any additional information.

            You can use -v switch to list contents of all volumes
            in volume set: rar l -v vol.part1.rar

            Commands 'lt', 'lta' and 'lb' are equal to 'vt', 'vta'
            and 'vb' correspondingly.


    m[f]    Move to archive [files only]. Moving files and directories
            results in the files and directories being erased upon
            successful completion of the packing operation. Directories will
            not be removed if 'f' modifier is used and/or '-ed' switch is
            applied.


    p       Print file to stdout.

            You may use this command together with -inul switch to disable
            all RAR messages and print only file data. It may be important
            when you need to send a file to stdout for use in pipes.

    
    r       Repair archive. Archive repairing is performed in two stages.
            First, the damaged archive is searched for a recovery record
            (see 'rr' command). If archive contains the previously added
            recovery record and if damaged data area is continuous
            and smaller than error correction code size in recovery record,
            chance of successful archive reconstruction is high.
            When this stage has been completed, a new archive is created,
            named as fixed.arcname.rar, where 'arcname' is the original
            (damaged) archive name.            

            If broken archive does not contain a recovery record or if
            archive is not completely recovered due to major damage,
            second stage is performed. During this stage only the archive
            structure is reconstructed and it is impossible to recover
            files which fail checksum validation, it is still possible,
            however, to recover undamaged files, which were inaccessible
            due to the broken archive structure. Mostly this is useful
            for non-solid archives. This stage is never efficient
            for archives with encrypted file headers, which can be repaired
            only if recovery record is present.

            When the second stage is completed, the reconstructed archive
            is saved as rebuilt.arcname.rar, where 'arcname' is
            the original archive name.

            By default, repaired archives are created in the current
            directory, but you can append an optional destpath\ parameter
            to specify another destination directory.

            Example:

            rar r buggy.rar c:\fixed\

            repair buggy.rar and place the result to 'c:\fixed' directory.


    rc      Reconstruct missing and damaged volumes using recovery volumes
            (.rev files). You need to specify any existing volume
            as the archive name, for example, 'rar rc backup.part03.rar'

            Read 'rv' command description for information about
            recovery volumes.


    rn      Rename archived files.

            The command syntax is:

            rar rn <arcname> <srcname1> <destname1> ... <srcnameN> <destnameN>

            For example, the following command:

            rar rn data.rar readme.txt readme.bak info.txt info.bak

            will rename readme.txt to readme.bak and info.txt to info.bak
            in the archive data.rar.

            It is allowed to use wildcards in the source and destination
            names for simple name transformations like changing file
            extensions. For example:

            rar rn data.rar *.txt *.bak

            will rename all *.txt files to *.bak.

            RAR does not check if the destination file name is already
            present in the archive, so you need to be careful to avoid
            duplicated names. It is especially important when using
            wildcards. Such a command is potentially dangerous, because
            a wrong wildcard may corrupt all archived names.


    rr[N]   Add data recovery record. Optionally, redundant information
            (recovery record) may be added to archive. While it increases
            the archive size, it helps to recover archived files in case of
            disk failure or data loss of other kind, provided that damage
            is not too severe. Such damage recovery can be done with
            command "r" (repair).

            RAR 4.x and RAR 5.0 archives use different recovery record
            structure and algorithms.

            RAR 4.x recovery record is based on XOR algorithm.
            You can specify 4.x record size as a number of recovery sectors
            or as a percent of archive size. To specify a number of sectors
            just add it directly after 'rr', like 'rr1000' for 1000 sectors.
            To use a percent append 'p' or '%' modifier after the percent
            number, such as 'rr5p' or 'rr5%' for 5%. Note that in Windows
            .bat and .cmd files it is necessary to use 'rr5%%' instead of
            'rr5%', because the command processor treats the single '%'
            as the start of a batch file parameter, so it might be more
            convenient to use 'p' instead of '%' in this case.

            RAR 4.x recovery sectors are 512 bytes long. If damaged area
            is continuous, every sector helps to recover 512 bytes of
            damaged information. This value may be lower in cases of
            multiple damage. Maximum number of recovery sectors is 524288.

            Size of 4.x recovery record may be approximately determined as
            <archive size>/256 + <number of recovery sectors>*512 bytes.

            RAR 5.0 recovery record uses Reed-Solomon error correction codes.
            Its ability to repair continuous damage is about the same
            as for RAR 4.x, allowing to restore slightly less data than
            recovery record size. But it is significantly more efficient
            than RAR 4.x record in case of multiple damaged areas.

            RAR 5.0 record does not use 512 byte sectors and you can specify
            its size only as a percent of archive size. Even if '%' or 'p'
            modifier is not present, RAR treats the value as a percent
            in case of RAR 5.0 format, so both 'rr5' and 'rr5p' mean 5%.
            Due to service data overhead the actual resulting recovery record
            size only approximately matches the user defined percent
            and difference is larger for smaller archives.

            RAR 5.0 recovery record size cannot exceed the protecting
            archive size, so you cannot use more than 100% as a parameter.
            Larger recovery records are processed slower both when creating
            and repairing.

            RAR 5.0 recovery record is more resistant to damage of recovery
            record itself and can utilize a partially corrupt recovery
            record data. Note, though, that 'R' repair command does not fix
            broken blocks in recovery record. Only file data are corrected.
            After successful archive repair, you may need to create a new
            recovery record for saved files.

            Both 4.x and 5.0 records are most efficient if data positions
            in damaged archive are not shifted. If you copy an archive
            from damaged media using some special software and if you have
            a choice to fill damaged areas with zeroes or to cut out them
            from copied file, filling with zeroes or any other value is
            preferable, because it allows to preserve original data positions.
            Still, even though it is not an optimal mode, both versions
            of records attempt to repair data even in case of deletions
            or insertions of reasonable size, when data positions were
            shifted. RAR 5.0 recovery record handles deletions and insertions
            more efficiently than RAR 4.x.

            If you use the plain 'rr' command without optional parameter,
            RAR will set the recovery record size to 3% of archive size
            by default.

            Example:

            rar rr5p arcname

            add the recovery record of 5% of archive size.


    rv[N]   Create recovery volumes (.rev files), which can be later
            used to reconstruct missing and damaged files in a volume
            set. This command makes sense only for multivolume archives
            and you need to specify the name of the first volume
            in the set as the archive name. For example:

            rar rv3 data.part01.rar

            This feature may be useful for backups or, for example,
            when you posted a multivolume archive to a newsgroup
            and a part of subscribers did not receive some of the files.
            Reposting recovery volumes instead of usual volumes
            may reduce the total number of files to repost.

            Each recovery volume is able to reconstruct one missing
            or damaged RAR volume. For example, if you have 30 volumes
            and 3 recovery volumes, you are able to reconstruct any
            3 missing volumes. If the number of .rev files is less than
            the number of missing volumes, reconstructing is impossible.
            The total number of usual and recovery volumes must not
            exceed 255 for RAR 4.x and 65535 for RAR 5.0 archive format.

            Original RAR volumes must not be modified after creating
            recovery volumes. Recovery algorithm uses data stored both
            in REV files and in RAR volumes to rebuild missing RAR volumes.
            So if you modify RAR volumes, for example, lock them, after
            creating REV files, recovery process will fail.

            Additionally to recovery data, RAR 5.0 recovery volumes
            also store service information such as checksums of protected
            RAR files. So they are slightly larger than RAR volumes
            which they protect. If you plan to copy individual RAR and REV
            files to some removable media, you need to take it into account
            and specify RAR volume size by a few kilobytes smaller
            than media size.

            The optional <N> parameter specifies a number of recovery
            volumes to create and must be less than the total number
            of RAR volumes in the set. You may also append a percent
            or 'p' character to this parameter, in such case the number of
            creating .rev files will be equal to this percent taken
            from the total number of RAR volumes. For example:

            rar rv15% data.part01.rar

            RAR reconstructs missing and damaged volumes either when
            using 'rc' command or automatically, if it cannot locate
            the next volume and finds the required number of .rev files
            when unpacking.

            Original copies of damaged volumes are renamed to *.bad
            before reconstruction. For example, volname.part03.rar
            will be renamed to volname.part03.rar.bad.


    s[name] Convert archive to SFX. The archive is merged with a SFX module
            (using a module in file default.sfx or specified in the switch).
            In the Windows version default.sfx should be placed in the
            same directory as the rar.exe, in Unix - in the user's
            home directory, in /usr/lib or /usr/local/lib.

    s-      Remove SFX module from the already existing SFX archive.
            RAR creates a new archive without SFX module, the original
            SFX archive is not deleted.

    t       Test archive files. This command performs a dummy file
            extraction, writing nothing to the output stream, in order to
            validate the specified file(s).

            Examples:

            Test archives in current directory:

            rar t *

            or for Unix:

            rar t '*'

            User may test archives in all sub-directories, starting
            with the current path:

            rar t -r *

            or for Unix:

            rar t -r '*'


    u       Update files in archive. Adds files not yet in the archive
            and updates archived files that are older than files to add.


    v[t[a],b]
            Verbosely list archive contents [technical [all], bare].
    
            'v' command lists archived file attributes, size, packed size,
            compression ratio, date, time, checksum and name, one file
            per line. If file is encrypted, line starts from '*' character.
            For BLAKE2sp checksum only two first and one last symbol are
            displayed.

            'vt' displays the detailed file information in multiline mode.
            This information includes file checksum value, host OS,
            compression options and other parameters.

            'vta' provide the detailed information not only for files,
            but also for service headers like NTFS streams
            or file security data.

            'vb' lists bare file names with path, one per line,
            without any additional information.

            You can use -v switch to list contents of all volumes
            in volume set: rar v -v vol.part1.rar

            Commands 'vt', 'vta' and 'vb' are equal to 'lt', 'lta'
            and 'lb' correspondingly.


    x       Extract files with full path.

            Examples:

            1) extract 10cents.txt to current directory not displaying
               the archive comment

               rar x -c- dime 10cents.txt

            2) extract *.txt from docs.rar to c:\docs directory

               rar x docs.rar *.txt c:\docs\

            3) extract the entire contents of docs.rar to current directory

               rar x docs.rar


    Switches (used in conjunction with a command):


    -?      Display help on commands and switches. The same as when none
            or an illegal command line option is entered.


    --      Stop switches scanning

            This switch tells to RAR that there are no more switches
            in the command line. It could be useful, if either archive
            or file name starts from '-' character. Without '--' switch
            such a name would be treated as a switch.

            Example:

            add all files from the current directory to the solid archive
            '-StrangeName'

            RAR a -s -- -StrangeName


    -@[+]   Disable [enable] file lists

            RAR treats command line parameters starting from '@' character
            as file lists. So by default, RAR attempts to read 'filename'
            filelist, when encountering '@filename' parameter.
            But if '@filename' file exists, RAR treats the parameter
            as '@filename' file instead of reading the file list.

            Switch -@[+] allows to avoid this ambiguity and strictly
            define how to handle parameters starting from '@' character.

            If you specify -@, all such parameters found after this switch
            will be considered as file names, not file lists.

            If you specify -@+, all such parameters found after this switch
            will be considered as file lists, not file names.

            This switch does not affect processing parameters located
            before it.

            Example:

            test the archived file '@home'

            rar t -@ notes.rar @home


    -ac     Clear Archive attribute after compression or extraction
            (Windows version only).

            If -ac is specified when archiving, "Archive" file attribute
            is cleared for successfully compressed files. When extracting,
            -ac will clear "Archive" attribute for extracted files.
            This switch does not affect directory attributes.


    -ad     Append archive name to destination path.

            This option may be useful when unpacking a group of archives.
            By default RAR places files from all archives in the same
            directory, but this switch creates a separate directory
            for files unpacked from each archive.

            Example:

            rar x -ad *.rar data\

            RAR will create subdirectories below 'data' for every unpacking
            archive.


    -ag[format]
            Generate archive name using the current date and time.

            Appends the current date string to an archive name when
            creating or processing an archive. Useful for daily backups.

            Format of the appending string is defined by the optional
            "format" parameter or by "YYYYMMDDHHMMSS" if this parameter
            is absent. The format string may include the following
            characters:

            Y   - year
            M   - month
            MMM - month name as text string (Jan, Feb, etc.)
            W   - a week number (a week starts with Monday)
            A   - day of week number (Monday is 1, Sunday - 7)
            D   - day of month
            E   - day of year
            H   - hours
            M   - minutes (treated as minutes if encountered after hours)
            I   - minutes (treated as minutes regardless of hours position)
            S   - seconds
            N   - archive number. RAR searches for already existing archive
                  with generated name and if found, increments the archive
                  number until generating a unique name. 'N' format character
                  is not supported when creating volumes.
                  When performing non-archiving operations like extracting,
                  RAR selects the existing archive preceding the first
                  unused name or sets N to 1 if no such archive exists.

            Each of format string characters listed above represents only
            one character added to archive name. For example, use WW for
            two digit week number or YYYY to define four digit year.

            If the first character in the format string is '+', positions
            of the date string and base archive name are exchanged,
            so a date will precede an archive name.

            The format string may contain optional text enclosed in '{'
            and '}' characters. This text is inserted into archive name.

            All other characters are added to an archive name without
            changes.

            If you need to process an already existing archive, be careful
            with -ag switch. Depending on the format string and time passed
            since previous -ag use, generated and existing archive names
            may mismatch. In this case RAR will create or open a new archive
            instead of processing the already existing one. You may use
            -log switch to write the generated archive name to a file
            and then read it from file for further processing.


            Examples:

            1) use the default YYYYMMDDHHMMSS format

               rar a -ag backup

            2) use DD-MMM-YY format

               rar t -agDD-MMM-YY backup

            3) use YYYYMMDDHHMM format, place date before 'backup'

               rar a -ag+YYYYMMDDHHMM backup

            4) use YYYY-WW-A format, include fields description

               rar a -agYYYY{year}-WW{week}-A{wday} backup

            5) use YYYYMMDD and the archive number. It allows to generate
               unique names even when YYYYMMDD format mask used more than
               once in the same day

               rar a -agYYYYMMDD-NN backup


    -ai     Ignore file attributes.

            If this switch is used when extracting, RAR does not set
            general file attributes stored in archive to extracted files.
            This switch preserves attributes assigned by operating system
            to a newly created file.

            If this switch is used when archiving, predefined values,
            typical for file and directory, are stored instead of actual
            attributes.

            In Windows it affects archive, system, hidden and read-only
            attributes. in Unix - user, group, and others file permissions.


    -ao     Add files with "Archive" attribute set
            (Windows version only).

            If -ao is used when archiving, only files with "Archive"
            file attribute will be added to archive. This switch does not
            affect directories, so all matching directories are added
            regardless of their attributes. You can also specify -ed switch
            if you prefer to omit all directory records.

            Example:

            add all disk C: files with "Archive" attribute set
            to the 'f:backup' and clear files "Archive" attribute

            rar a -r -ac -ao f:backup c:\*.*


    -ap     Set path inside archive. This path is merged to file
            names when adding files to an archive and removed
            from file names when extracting.

            For example, if you wish to add the file 'readme.txt'
            to the directory 'DOCS\ENG' of archive 'release',
            you may run:

            rar a -apDOCS\ENG release readme.txt

            or to extract 'ENG' to the current directory:

            rar x -apDOCS release DOCS\ENG\*.*


    -as     Synchronize archive contents

            If this switch is used when archiving, those archived files
            which are not present in the list of the currently added
            files, will be deleted from the archive. It is convenient to
            use this switch in combination with -u (update) to synchronize
            contents of an archive and an archiving directory.

            For example, after the command:

            rar a -u -as backup sources\*.cpp

            the archive 'backup.rar' will contain only *.cpp files
            from directory 'sources', all other files will be deleted
            from the archive. It looks similar to creating a new archive,
            but with one important exception: if no files are modified
            since the last backup, the operation is performed much faster
            than the creation of a new archive.


    -cfg-   Ignore configuration file and RAR environment variable.


    -cl     Convert file names to lower case.


    -cu     Convert file names to upper case.


    -c-     Disable comments show.


    -df     Delete files after archiving

            Move files to archive. This switch in combination with
            the command "A" performs the same action as the command "M".


    -dh     Open shared files

            Allows to process files opened by other applications
            for writing.

            This switch helps if an application allowed read access
            to file, but if all types of file access are prohibited,
            the file open operation will still fail.

            This option could be dangerous, because it allows
            to archive a file, which at the same time is modified
            by another application, so use it carefully.


    -dr     Delete files to Recycle Bin

            Delete files after archiving and place them to Recycle Bin.
            Available in Windows version only.


    -ds     Do not sort files while adding to a solid archive.


    -dw     Wipe files after archiving

            Delete files after archiving. Before deleting file data
            are overwritten by zero bytes to prevent recovery of deleted
            files, file is truncated and renamed to temporary name.

            Please be aware that such approach is designed for usual
            hard disks, but may fail to overwrite the original file data
            on solid state disks, as result of SSD wear leveling technology
            and more complicated data addressing.


    -ed     Do not add empty directories

            This switch indicates that directory records are not to be
            stored in the created archive. When extracting such archives,
            RAR creates non-empty directories based on paths of files
            contained in them. Information about empty directories is
            lost. All attributes of non-empty directories except a name
            (access rights, streams, etc.) will be lost as well, so use
            this switch only if you do not need to preserve such information.

            If -ed is used with 'm' command or -df switch, RAR will not
            remove empty directories.


    -en     Do not add "end of archive" block

            Not supported for RAR 5.0 archives.
            
            By default, RAR adds an "end of archive" block to the end of
            a new or updated archive. It allows to skip external data like
            digital signatures safely, but in some special cases it may be
            useful to disable this feature. For example, if an archive
            is transferred between two systems via an unreliable link and
            at the same time a sender adds new files to it, it may be
            important to be sure that the already received file part will
            not be modified on the other end between transfer sessions.

            This switch cannot be used with volumes, because the end
            of archive block contains information important for correct
            volume processing.


    -ep     Exclude paths from names. This switch enables files to be
            added to an archive without including the path information.
            This could, of course, result in multiple files existing
            in the archive with the same name.

            If used when extracting, archived paths are ignored
            for extracted files, so all files are created in the same
            destination directory.


    -ep1    Exclude base dir from names. Do not store or extract the path
            entered in the command line. Ignored if path includes wildcards.

            Examples:

            1) add all files and directories from 'tmp' directory to archive
               'test', but exclude 'tmp\' from archived names path:

               rar a -ep1 -r test tmp\*

               This is an equivalent to commands:

               cd tmp
               rar a -r ..\test
               cd ..

            2) extract files matching images\* mask to dest\ directory,
               but remove 'images\' from paths of created files:

               rar x -ep1 data images\* dest\


    -ep2    Expand paths to full. Store full file paths (except the drive
            letter and leading path separator) when archiving.


    -ep3    Expand paths to full including the drive letter.
            Windows version only.

            This switch stores full file paths including the drive
            letter if used when archiving. Drive separators (colons)
            are replaced by underscore characters.

            If you use -ep3 when extracting, it will change
            underscores back to colons and create unpacked files
            in their original directories and disks. If the user
            also specified a destination path, it will be ignored.

            It also converts UNC paths from \\server\share to
            __server\share when archiving and restores them to
            the original state when extracting.

            This switch can help to backup several disks to the same
            archive. For example, you may run:

            rar a -ep3 -r backup.rar c:\ d:\ e:\

            to create backup and:

            rar x -ep3 backup.rar

            to restore it.

            But be cautious and use -ep3 only if you are sure that
            extracting archive does not contain any malicious files.
            In other words, use it if you have created an archive yourself
            or completely trust its author. This switch allows to overwrite
            any file in any location on your computer including important
            system files and should normally be used only for the purpose
            of backup and restore.


    -e[+]<attr>
            Specifies file exclude or include attributes mask.

            <attr> is a number in the decimal, octal (with leading '0')
            or hex (with leading '0x') format.

            By default, without '+' sign before <attr>, this switch
            defines the exclude mask. So if result of bitwise AND between
            <attr> and file attributes is nonzero, file would not be
            processed.

            If '+' sign is present, it specifies the include mask.
            Only those files which have at least one attribute specified
            in the mask will be processed.

            In Windows version is also possible to use symbols D, S, H,
            A and R instead of a digital mask to denote directories
            and files with system, hidden, archive and read-only attributes.
            The order in which the attributes are given is not significant.
            Unix version supports D and V symbols to define directory
            and device attributes.

            It is allowed to specify both -e<attr> and -e+<attr>
            in the same command line.

            Examples:

            1) archive only directory names without their contents

               rar a -r -e+d dirs

            2) do not compress system and hidden files:

               rar a -esh files

            3) do not extract read-only files:

               rar x -er files


    -f      Freshen files. May be used with archive extraction or creation.
            The command string "a -f" is equivalent to the command 'f', you
            could also use the switch '-f' with the commands 'm' or 'mf'. If
            the switch '-f' is used with the commands 'x' or 'e', then only
            old files would be replaced with new versions extracted from the
            archive.


    -hp[p]  Encrypt both file data and headers.

            This switch is similar to -p[p], but switch -p encrypts
            only file data and leaves other information like file names
            visible. This switch encrypts all sensitive archive areas
            including file data, file names, sizes, attributes, comments
            and other blocks, so it provides a higher security level.
            Without a password it is impossible to view even the list of
            files in archive encrypted with -hp.

            Example:

            rar a -hpfGzq5yKw secret report.txt

            will add the file report.txt to the encrypted archive
            secret.rar using the password 'fGzq5yKw'


    -ht[b|c]
            Select hash type [BLAKE2,CRC32] for file checksum.

            File data integrity in RAR archive is protected by checksums
            calculated and stored for every archived file.

            By default, RAR uses CRC32 function to calculate the checksum.
            RAR 5.0 archive format also allows to select BLAKE2sp hash
            function instead of CRC32.

            Specify -htb switch for BLAKE2sp and -htc for CRC32 hash function.
            Since CRC32 is the default algorithm, you may need -htc only to
            override -htb in RAR configuration.

            CRC32 output is 32 bit length. While CRC32 properties are
            suitable to detect most of unintentional data errors,
            it is not reliable enough to verify file data identity.
            In other words, if two files have the same CRC32,
            it does not guarantee that file contents is the same.

            BLAKE2sp output is 256 bit. Being a cryptographically strong
            hash function, it practically guarantees that if two files
            have the same value of BLAKE2sp, their contents is the same.
            BLAKE2sp error detection property is also more reliable than
            in shorter CRC32.
            
            Since BLAKE2sp output is longer, resulting archive is
            slightly larger for -htb switch.

            If archive headers are unencrypted (no switch -hp), checksums
            for encrypted RAR 5.0 files are modified using a special
            password dependent algorithm, to make impossible guessing
            file contents based on checksums. Do not expect such encrypted
            file checksums to match usual CRC32 and BLAKE2sp values.
            
            This switch is supported only by RAR 5.0 format, so you
            need to use -ma switch with it.

            You can see checksums of archived files using 'vt' or 'lt'
            commands.
    

            Example:

            rar a -ma -htb lists.rar *.lst

            will add *.lst to lists.rar using BLAKE2sp for file checksums.


    -id[c,d,p,q]
            Disable messages.

            Switch -idc disables the copyright string.

            Switch -idd disables "Done" string at the end of operation.

            Switch -idp disables the percentage indicator.

            Switch -idq turns on the quiet mode, so only error messages
            and questions are displayed.

            It is allowed to use several modifiers at once,
            so switch -idcdp is correct.


    -ieml[.][addr]
            Send archive by email. Windows version only.

            Attach an archive created or updated by the add command
            to email message. You need to have a MAPI compliant email
            client to use this switch (most modern email programs
            support MAPI interface).

            You may enter a destination email address directly
            in the switch or leave it blank. In the latter case you
            will be asked for it by your email program. It is possible
            to specify several addresses separated by commas or semicolons.

            If you append a dot character to -ieml, an archive will be
            deleted after it was successfully attached to an email.
            If the switch is used when creating a multivolume archive,
            every volume is attached to a separate email message.


    -ierr   Send all messages to stderr.


    -ilog[name]
            Log errors to file (registered version only).

            Write error messages to rar.log file. If optional 'name'
            parameter is not specified, the log file is created
            using the following defaults:

            Unix:    .rarlog file in the user's home directory;
            Windows: rar.log file in %APPDATA%\WinRAR directory.

            If 'name' parameter includes a file name without path,
            RAR will create the log file in the default directory
            mentioned above using the specified name. Include both path
            and name to 'name' parameter if you wish to change
            the location of log file.

            By default, log file uses UTF-16 little endian encoding,
            but it can be changed with -sc<charset>g switch, such as -scag
            for native single byte encoding.


            Example:

            rar a -ilogc:\log\backup.log backup d:\docs

            will create c:\log\backup.log log file in case of errors.


    -inul   Disable all messages.


    -ioff   Turn PC off after completing an operation. The hardware must
            support the power off feature. Windows version only.


    -isnd   Enable sound.


    -iver   Display the version number and quit. You can run just "RAR -iver".


    -k      Lock archive. Any command which intends to change the archive
            will be ignored.


    -kb     Keep broken extracted files.

            RAR, by default, deletes files with checksum errors
            after extraction. The switch -kb specifies that files
            with checksum errors should not be deleted.


    -log[fmt][=name]
            Write names to log file.

            This switch allows to write archive and file names to specified
            text file in archiving, extracting, deleting and listing commands.
            Its behavior is defined by 'fmt' string, which can include one
            or more of following characters:

            A - write archive names to log file. If RAR creates or processes
                volumes, all volume names are logged.

            F - write processed file names to log file. It includes
                files added to archive and extracted, deleted or listed
                files inside of archive.

            P - if log file with specified name is exist, append data
                to existing file instead of creating a new one.

            U - write data in Unicode format.

            If neither 'A' nor 'F' are specified, 'A' is assumed.

            'name' parameter allows to specify the name of log file.
            It must be separated from 'fmt' string by '=' character.
            If 'name' is not present, RAR will use the default rarinfo.log
            file name.

            It is allowed to specify several -log switches in the same
            command line.

            This switch can be particularly useful, when you need to process
            an archive created with -ag or -v switches in a batch script.
            You can specify -loga=arcname.txt when creating an archive
            and then read an archive name generated by RAR from arcname.txt
            with an appropriate command. For example, in Windows batch file
            it can be: set /p name=<arcname.txt.

            Examples:

            1) write names of created volumes to vollist.txt:

               rar a -v100m -loga=vollist.txt volume.rar c:\data

            2) write the generated archive name to backup.txt in Unicode:

               rar a -ag -logau=backup.txt backup.rar myfiles\*

            3) write names of tested volumes to vollist.txt and names
               of tested archived files inside of volumes to filelist.txt:

               rar t -log=vollist.txt -logf=filelist.txt volume.part01.rar


    -m<n>   Set compression method:

       -m0   store     do not compress file when adding to archive
       -m1   fastest   use fastest method (less compressive)
       -m2   fast      use fast compression method
       -m3   normal    use normal (default) compression method
       -m4   good      use good compression method (more
                       compressive, but slower)
       -m5   best      use best compression method (slightly more
                       compressive, but slowest)

            If this switch is not specified, RAR uses -m3 method
            (normal compression).


    -ma[4|5]
            Specify a version of archiving format.

            By default RAR creates archives in RAR 5.0 format.
            Use -ma4 to create RAR 4.x archives.
            Use -ma5 or just -ma in case you need to override -ma4 saved
            in configuration and force RAR to use RAR 5.0 format.

            This switch is used only when creating a new archive.
            It is ignored when updating an existing archive.


    -mc<par>
            Set advanced compression parameters.

            This switch is intended mainly for benchmarking and
            experiments. In the real environment it is usually better
            to allow RAR to select optimal parameters automatically.
            Please note that improper use of this switch may lead
            to very serious performance and compression loss, so use
            it only if you clearly understand what you do.

            It has the following syntax:

            -mc[param1][:param2][module][+ or -]

            where <module> is the one character field denoting a part
            of the compression algorithm, which has to be configured.

            It may have the following values:

              A       - audio compression;
              C       - true color (RGB) data compression;
              D       - delta compression;
              E       - x86 executable compression;
              I       - Intel Itanium executable compression;
              T       - text compression.

            RAR 5.0 archive format supports only 'D' and 'E' values.

            '+' sign at the end of switch applies the selected algorithm
            module to all processed data, '-' disables the module at all.
            If no sign is specified, RAR will choose modules automatically,
            based on data and the current compression method.

            Switch -mc- disables all optional modules and allows only
            the general compression algorithm.

            <Param1> and <Param2> are module dependent parameters
            described below.


            Audio compression, delta compression:

            <Param1> is a number of byte channels (can be 1 - 31).
            RAR splits multibyte channels to bytes, for example,
            two 16-bit audio channels are considered by RAR as four
            channels one byte each.

            <Param2> is ignored.


            x86 Intel executable compression, Intel Itanium executable
            compression, true color (RGB) data compression:

            <Param1> and <Param2> are ignored.


            Text compression:

            Text compression algorithm provides noticeably higher compression
            on plain text data. But it cannot utilize several CPU cores
            efficiently resulting in slower compression time comparing to
            general algorithm in multicore and multiprocessor environment.
            Also its decompression speed is much slower than in general
            algorithm regardless of CPU cores number. This is why
            the text compression is disabled by default. You can specify
            -mct switch to allow RAR to select this algorithm automatically
            for suitable data. Switch -mct+ will force use of the text
            compression for all data.

            Switch -mct can also include <Param1> and <Param2>, so its
            full syntax is -mc[param1][:param2]t[+ or -].

            <Param1> is the order of PPM algorithm (can be 2 - 63).
            Usually a higher value slightly increases the compression ratio
            of redundant data, but only if enough memory is available
            to PPM. In case of lack of memory the result may be negative.
            Higher order values decrease both compression and decompression
            speed.

            <Param2> is memory in megabytes allocated for PPM (1-128).
            Higher values may increase the compression ratio, but note
            that PPM uses the equal memory size both to compress and
            decompress, so if you allocate too much memory when creating
            an archive, other people may have problems when decompressing
            it on a computer with less memory installed. Decompression
            will be still possible using virtual memory, but it may
            become very slow.


            Examples:

            1) switch -mc1a+ forces use of 8-bit mono audio compression
            for all data.

            2) switch -mc10:40t+ forces use of text compression
            algorithm for all data, sets the compression order to 10
            and allocates 40 MB memory.

            3) switch -mc12t sets the text compression order to 12,
            when the text compression is used, but leaves to RAR to
            decide when to use it.

            4) switches -mct -mcd- allow RAR to apply the text compression
            to suitable data and disable the delta compression.


    -md<n>[k,m,g]
            Select the dictionary size.

            Sliding dictionary is the memory area used by compression
            algorithm to find and compress repeated data patterns. 
            If size of file being compressed (or total files size in case
            of solid archive) is larger than dictionary size, increasing
            the dictionary is likely to increase the compression ratio,
            reduce the archiving speed and increase memory requirements.

            For RAR 4.x archive format the dictionary size can be:
            64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB.

            For RAR 5.0 archive format the dictionary size can be:
            128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB,
            32 MB, 64 MB, 128 MB, 256 MB, 512 MB, 1 GB.

            You can use 'k', 'm' and 'g' modifiers to specify the size
            in kilo-, mega- and gigabytes, like -md64m for 64 MB dictionary.
            If no modifier is specified, megabytes are assumed,
            so -md64m and -md64 are equal.

            When archiving, RAR needs about 6x memory of specified
            dictionary size, so 512 MB and 1 GB sizes are available
            in 64 bit RAR version only. When extracting, slightly more
            than a single dictionary size is allocated, so both 32
            and 64 bit versions can unpack archives with all dictionaries
            up to and including 1 GB.

            If size of all source files for solid archive or size of largest
            source file for non-solid archive is at least twice less than
            dictionary size, RAR can reduce the dictionary size. It helps
            to lower memory usage without decreasing compression.

            Default sliding dictionary size is 4 MB for RAR 4.x
            and 32 MB for RAR 5.0 archive format.

            Example:

            RAR a -s -ma -md128 lib *.dll

            create a solid archive in RAR 5.0 format with 128 MB dictionary.


    -ms[list]
            Specify file types to store.

            Specify file types, which will be stored without compression.
            This switch may be used to store already compressed files,
            which helps to increase archiving speed without noticeable
            loss in the compression ratio.

            Optional <list> parameter defines the list of file extensions
            separated by semicolons. For example, -msrar;zip;jpg will
            force RAR to store without compression all RAR and ZIP
            archives and JPG images. It is also allowed to specify wildcard
            file masks in the list, so -ms*.rar;*.zip;*.jpg will work too.
            Several -ms switches are permitted, such as -msrar -mszip
            instead of -msrar;zip.

            In Unix -ms switch containing several file types needs to be
            enclosed in quote marks. It protects semicolons from processing
            by Unix shell. Another solution is to use individual -ms<type>
            switches for every file type.

            If <list> is not specified, -ms switch will use the default
            set of extensions, which includes the following file types:

            7z, ace, arj, bz2, cab, gz, jpeg, jpg, lha, lz, lzh, mp3,
            rar, taz, tgz, xz, z, zip, zipx


    -mt<threads>
            Set the number of threads.

            <threads> parameter can take values from 1 to 32.
            It defines the recommended maximum number of active threads
            for compression algorithm also as for other RAR modules,
            which can start several threads. While RAR attempts to follow
            this recommendation, sometimes the real number of active
            threads can exceed the specified value.

            Change of <threads> parameter slightly affects the compression
            ratio, so archives created with different -mt switches
            will not be exactly the same even if all other compression
            settings are equal.

            If -mt switch is not specified, RAR will try to detect
            the number of available processors and select the optimal
            number of threads automatically.
    

    -n<f>   Additionally filter included files.

            Apply the mask as an additional filter to included file list.
            Wildcards can be used both in the name and file parts of
            file mask. See switch -x description for details on mask syntax.
            You can specify the switch '-n' several times.

            This switch does not replace usual file masks, which still
            need to be entered in the command line. It is an additional
            filter limiting processed files only to those matching
            the include mask specified in -n switch. It can help to
            reduce the command line length sometimes.

            For example, if you need to compress all *.txt and *.lst
            files in directories Project and Info, you can enter:

            rar a -r text Project\*.txt Project\*.lst Info\*.txt Info\*.lst

            or using the switch -n:

            rar a -r -n*.txt -n*.lst text Project Info


    -n@<lf> Read additional filter masks from list file.

            Similar to -n<f> switch, but reads filter masks from
            the list file. If you use -n@ without the list file name
            parameter, it will read filter masks from stdin.

            This switch does not replace usual list files or file masks,
            which still need to be entered in the command line.
            It is an additional filter limiting processed files only to
            those matching the include mask specified in -n switch.

            Example:

            rar a -r -n@inclist.txt text Project Info @listfile.txt


    -oc     Set NTFS Compressed attribute. Windows version only.

            This switch allows to restore NTFS Compressed attribute
            when extracting files. RAR saves Compressed file attributes
            when creating an archive, but does not restore them unless
            -oc switch is specified.

    -oh     Save hard links as the link instead of the file.

            If archiving files include several hard links, store the first
            archived hard link as usual file and the rest of hard links
            in the same set as links to this first file. When extracting
            such files, RAR will create hard links instead of usual files.

            You must not delete or rename the first hard link in archive
            after the archive was created, because it will make extraction
            of following links impossible. If you modify the first link,
            all following links will also have the modified contents
            after extracting. Extraction command must involve the first
            hard link to create following hard links successfully.
    
            This switch is supported only by RAR 5.0 format,
            so you need to use -ma switch with it.


    -oi[0-4][:<minsize>]
            Save identical files as references.

            Switch -oi0 (or just -oi-) turns off identical file processing,
            so such files are compressed as usual files. It can be used to
            override another -oi value stored in RAR configuration.

            If -oi1 (or just -oi) is specified, RAR analyzes the file
            contents before starting archiving. If several identical files
            are found, the first file in the set is saved as usual file
            and all following files are saved as references to this first
            file. It allows to reduce the archive size, but applies some
            restrictions to resulting archive. You must not delete or rename
            the first identical file in archive after the archive was
            created, because it will make extraction of following files
            using it as a reference impossible. If you modify the first file,
            following files will also have the modified contents
            after extracting. Extraction command must involve the first file
            to create following files successfully.

            It is recommended to use -oi only if you compress a lot of
            identical files, will not modify an archive later and will
            extract an archive entirely, without necessity to unpack or skip
            individual files. If all identical files are small enough to
            fit into compression dictionary specified with -md<n> switch,
            switch -s can provide more flexible solution than -oi.

            Switch -oi2 is similar to -oi1, with the only difference:
            it will display names of found identical files before starting
            archiving.

            Switches -oi3 and -oi4 allow to utilize RAR to generate
            lists of identical files. Though you still need to provide
            a dummy archive name to make the command syntax valid,
            in this mode an archive is not created and nothing is compressed.
            If -oi3 is used, file sizes and names are displayed
            and every identical file group is separated with empty line.
            Switch -oi4 displays bare file names and skips the first
            identical file in every file group, so only duplicates
            are listed.

            Optional <minsize> value allows to define the minimum file size
            threshold. Files smaller than <minsize> are not analyzed
            and not considered as identical. If this parameter is not
            present, it is assumed to be 64 KB by default. Selecting
            too small <minsize> may increase the time required to detect
            identical files.
    
            Switches -oi1 and -oi2 are supported only by RAR 5.0 format,
            so you need to use -ma switch with it.

            Examples:

            1) rar a -oi -ma archive

            Save contents of current directory to archive.rar.
            Store identical files as references.

            2) rar a -oi3:1000000 -r dummy c:\photo\*.jpg

            List all duplicate *.jpg files lather than 1000000 bytes
            found in c:\photo and its subdirectories.
    

    -ol[a]  Process symbolic links as the link [absolute paths]
            
            Save symbolic links as links, so file contents is not archived.
            In Windows version it also saves reparse points as links.
            Such archive entries are restored as symbolic links
            or reparse points when extracting.

            Supported both for RAR 4.x and RAR 5.0 archives in RAR for Unix
            and only for RAR 5.0 archives in RAR for Windows.

            In Windows you may need to run RAR as administrator to create
            symbolic links when extracting.

            RAR adds all links regardless of target when archiving with
            -ol switch. When extracting, by default, RAR skips symbolic
            links pointing outside of destination directory, with absolute
            paths, excessive number of ".." in link target or with other
            potentially dangerous link parameters. You can enable extracting
            such links with -ola switch.

            Links pointing to directories outside of extraction destination
            directory can present a security risk. Enable their extraction
            only if you are sure that archive contents is safe,
            such as your own backup.

            Links that are considered safe by RAR are extracted always
            regardless of -ol or -ola switch.


    -oni    Allow potentially incompatible names.

            While NTFS file system permits file names with trailing spaces
            and dots, a lot of Windows programs fail to process such names
            correctly. If this switch is not specified, RAR removes trailing
            spaces and dots, if any, from file names when extracting.
            Specify this switch if you need to extract such names as is.

            Windows version only.


    -or     Rename extracted files automatically if file with the same name
            already exists. Renamed file will get the name like
            'filename(N).txt', where 'filename.txt' is the original file
            name and 'N' is a number starting from 1 and incrementing
            if file exists.


    -os     Save NTFS streams. Windows version only.

            This switch has meaning only for NTFS file system and allows
            to save alternate data streams associated with a file.
            You may need to specify it when archiving if you use software
            storing data in alternative streams and wish to preserve
            these streams.

            Streams are not saved for NTFS encrypted files.


    -ow     Use this switch when archiving to save file security
            information and when extracting to restore it.

            Unix RAR version saves file owner and group when using
            this switch.

            Windows version stores owner, group, file permissions and
            audit information, but only if you have necessary privileges
            to read them. Note that only NTFS file system supports
            file based security under Windows.


    -o[+|-] Set the overwrite mode. Can be used both when extracting
            and updating archived files. Following modes are available:

              -o           Ask before overwrite
                           (default for extracting files);

              -o+          Overwrite all
                           (default for updating archived files);

              -o-          Skip existing files.


    -p[pwd] Set password

            Set password <pwd> to encrypt files when archiving
            or to decrypt when extracting.

            Passwords are case-sensitive. Maximum password length is
            127 characters. Longer passwords are truncated to this length.
            If you omit a password in command line, you will be prompted
            with "Enter password" message. You can also use file redirection
            or pipe to specify a password if <pwd> parameter is missing.

            Examples:

            1) rar a -psecret texts.rar *.txt

            add files *.txt and encrypt them with password "secret".

            2) rar -p texts.rar *.txt < psw.txt

            set contents of psw.txt file as a password.


    -p-     Do not query password

            Do not query password for encrypted files when extracting.
            Actually you can specify any invalid password to suppress
            the password prompt and force RAR to issue 'incorrect password'
            message when extracting an encrypted file. This switch just
            sets '-' as a password.


    -qo[-|+]
            Add quick open information [none|force]

            RAR archives store every file header containing information
            such as file name, time, size and attributes immediately
            before data of described file. This approach is more damage
            resistant than storing all file headers in a single continuous
            block, which if broken or truncated would destroy the entire
            archive contents. But while being more reliable, such file
            headers scattered around the entire archive are slower to
            access if we need to quickly open the archive contents 
            in a shell like WinRAR graphical interface.

            To improve archive open speed and still not make the entire
            archive dependent on a single damaged block, RAR 5.0 archives
            can include an optional quick open record. Such record is
            added to the end of archive and contains copies of file names
            and other file information stored in a single continuous block
            additionaly to normal file headers inside of archive.
            Since the block is continuous, its contents can be read quickly,
            without necessity to perform a lot of disk seek operations.
            Every file header in this block is protected with a checksum.
            If RAR detects that quick open information is damaged,
            it resorts to reading individual headers from inside of archive,
            so damage resistance is not lessened.

            Quick open record contains the full copy of file header,
            which may be several tens or hundreds of bytes per file,
            increasing the archive size by the same amount. This size
            increase is most noticeable for many small files, when file
            data size is comparable to file header. So by default,
            if no -qo is specified or -qo without parameter is used,
            RAR stores copies of headers only for relatively large files
            and continues to use local headers for smaller files.
            Concrete file size threshold can depend on RAR version.
            Such approach provides a reasonable open speed to archive size
            tradeoff. If you prefer to have the maximum archive open speed
            regardless of size, you can use -qo+ to store copies of all
            file headers. If you need to have the smallest possible archive
            and do not care about archive open speed in different programs,
            specify -qo- to exclude the quick open information completely.

            If you wish to measure the performance effect of this switch,
            be sure that archive contents is not stored in a disk cache.
            No real disk seeks are performed for cached archive file,
            making access to file headers fast even without quick open
            record.

    
    -r      Recurse subdirectories. May be used with commands:
            a, u, f, m, x, e, t, p, v, l, c, cf and s.

            When used with the commands 'a', 'u', 'f', 'm' will process
            files in all sub-directories as well as the current working
            directory.

            When used with the commands x, e, t, p, v, l, c, cf or s will
            process all archives in sub-directories as well as the current
            working directory.


    -r-     Disable recursion.

            Even without -r switch RAR can enable the recursion
            automatically in some situations. Switch -r- prohibits it.

            If you specify a directory name when archiving and if such
            name does not include wildcards, by default RAR adds
            the directory contents even if switch -r is not specified.
            Also RAR automatically enables the recursion if disk root
            without wildcards is specified as a file mask. Switch -r-
            disables such behavior.

            For example:

            rar a -r- arc dirname

            command will add only the empty 'dirname' directory and ignore
            its contents. Following command:

            rar a -r- arc c:\

            will compress contents of root c: directory only and
            will not recurse into subdirectories.


    -r0     Similar to -r, but when used with the commands 'a', 'u', 'f',
            'm' will recurse into subdirectories only for those file masks,
            which include wildcard characters '*' and '?'.

            This switch works only for file names. Directory names without
            a file name part, such as 'dirname', are not affected by -r0
            and their contents is added to archive completely unless -r-
            switch is specified.

            Example:

            rar a -r0 docs.rar *.doc readme.txt

            add *.doc files from the current directory and its subdirectories
            and readme.txt only from the current directory to docs.rar
            archive. In case of usual -r switch, RAR would search for
            readme.txt in subdirectories too.


    -ri<p>[:<s>]
            Set priority and sleep time. Available only in RAR for Windows.
            This switch regulates system load by RAR in multitasking
            environment. Possible task priority <p> values are 0 - 15.

            If <p> is 0, RAR uses the default task priority.
            <p> equal to 1 sets the lowest possible priority,
            15 - the highest possible.

            Sleep time <s> is a value from 0 to 1000 (milliseconds).
            This is a period of time that RAR gives back to the system
            after read or write operations while compressing or extracting.
            Non-zero <s> may be useful if you need to reduce system load
            even more than can be achieved with <p> parameter.

            Example:

            execute RAR with default priority and 10 ms sleep time:

            rar a -ri0:10 backup *.*


    -rr[N]  Add data recovery record. This switch is used when creating
            or modifying an archive to add a data recovery record to
            the archive. See the 'rr[N]' command description for details.


    -rv[N]  Create recovery volumes. This switch is used when creating
            a multivolume archive to generate recovery volumes.
            See the 'rv[N]' command description for details.


    -s      Create solid archive. A solid archive is an archive packed by
            a special compression method, which treats several or all
            files, within the archive, as one continuous data stream.

            Solid archiving significantly increases compression, when
            adding a large number of small, similar files. But it also
            has a few important disadvantages: slower updating of existing
            solid archives, slower access to individual files, lower
            damage resistance.

            Usually files in a solid archive are sorted by extension.
            But it is possible to disable sorting with -ds switch or set
            an alternative file order using a special file, rarfiles.lst.

            Example:

            create solid archive sources.rar with 512 KB dictionary,
            recursing all directories, starting with the current directory.
            Add only .asm files:

            rar a -s -md512 sources.rar *.asm -r


    -s<N>   Create solid groups using file count

            Similar to -s, but resets solid statistics after compressing
            <N> files. Usually decreases compression, but also
            decreases losses in case of solid archive damages.


    -sc<charset>[objects]
            Specify the character set.

            'Charset' parameter is mandatory and can have one
            of the following values:

              U - Unicode UTF-16;
              F - Unicode UTF-8;
              A - the native single byte encoding, which is ANSI
                  for Windows version;
              O - OEM (DOS) encoding. Windows version only.

            Endianness of source UTF-16 files, such as list files
            or comments, is detected based on the byte order mark.
            If byte order mask is missing, little endian encoding is assumed.

            'Objects' parameter is optional and can have one of
            the following values:

              G - log files produced by -ilog switch;
              L - list files;
              C - comment files;
              R - messages sent to redirected files and pipes (Windows only). 

            It is allowed to specify more than one object, for example,
            -scolc. If 'objects' parameter is missing, 'charset' is applied
            to all objects.

            This switch allows to specify the character set for files
            in -z[file] switch, list files and comment files written by
            "cw" command.

            Examples:

            1) rar a -scol data @list

            Read names contained in 'list' using OEM encoding.

            2) rar c -scuc -zcomment.txt data

            Read comment.txt as Unicode file.

            3) rar cw -scuc data comment.txt

            Write comment.txt as Unicode file.

            4) rar lb -scur data > list.txt

            Save archived file names in data.rar to list.txt in Unicode.


    -se     Create solid groups using extension

            Similar to -s, but resets solid statistics if file extension
            is changed. Usually decreases compression, but also
            decreases losses from solid archive damages.


    -sfx[name]
            Create SFX archives. If this switch is used when creating a new
            archive, a Self-Extracting archive (using a module in file
            default.sfx or specified in the switch) would be created.
            In the Windows version default.sfx should be placed in the
            same directory as the rar.exe, in Unix - in the user's
            home directory, in /usr/lib or /usr/local/lib.

            Example:

            rar a -sfxwincon.sfx myinst

            create SelF-eXtracting (SFX) archive using wincon.sfx
            SFX-module.


    -si[name]
            Read data from stdin (standard input), when creating
            an archive. Optional 'name' parameter allows to specify
            a file name of compressed stdin data in the created
            archive. If this parameter is missing, the name will be
            set to 'stdin'.

            Example:

            type Tree.Far | rar a -siTree.Far tree.rar

            will compress 'type Tree.Far' output as 'Tree.Far' file.


    -sl<size>
            Process only those files, which size is less than
            specified in <size> parameter of this switch.
            Parameter <size> must be specified in bytes.


    -sm<size>
            Process only those files, which size is more than
            specified in <size> parameter of this switch.
            Parameter <size> must be specified in bytes.


    -sv     Create independent solid volumes

            By default RAR tries to reset solid statistics as soon
            as possible when starting a new volume, but only
            if enough data was packed after a previous reset
            (at least a few megabytes).

            This switch forces RAR to ignore packed data size and attempt
            to reset statistics for volumes of any size. It decreases
            compression, but increases chances to extract a part of data
            if one of several solid volumes in a volume set was lost
            or damaged.

            Note that sometimes RAR cannot reset statistics even
            using this switch. For example, it cannot be done when
            compressing one large file split between several volumes.
            RAR is able to reset solid statistics only between separate
            files, but not inside of single file.

            Ignored if used when creating a non-volume archive.


    -sv-    Create dependent solid volumes

            Disables to reset solid statistics between volumes.

            It slightly increases compression, but significantly reduces
            chances to extract a part of data if one of several solid
            volumes in a volume set was lost or damaged.

            Ignored if used when creating a non-volume archive.


    -s-     Disable solid archiving


    -t      Test files after archiving. This switch is especially
            useful in combination with the move command, so files will be
            deleted only if the archive had been successfully tested.


    -ta<date>
            Process only files modified after the specified date.

            Format of the date string is YYYYMMDDHHMMSS.
            It is allowed to insert separators like '-' or ':' to
            the date string and omit trailing fields. For example,
            the following switch is correct: -ta2001-11-20
            Internally it will be expanded to -ta20011120000000
            and treated as "files modified after 0 hour 0 minutes
            0 seconds of 20 November 2001".


    -tb<date>
            Process only files modified before the specified date.
            Format of the switch is the same as -ta<date>.


    -tk     Keep original archive date. Prevents RAR from modifying the
            archive date when changing an archive.


    -tl     Set archive time to newest file. Forces RAR to set the date of a
            changed archive to the date of the newest file in the archive.


    -tn<time>
            Process files newer than the specified time period. Format
            of the time string is:

            [<ndays>d][<nhours>h][<nminutes>m][<nseconds>s]

            For example, use switch -tn15d to process files newer
            than 15 days and -tn2h30m to process files newer than
            2 hours 30 minutes.


    -to<time>
            Process files older than the specified time period. Format
            of the switch is the same as -tn<time>.


    -ts[m|c|a][+|-|1]
            Save or restore file time (modification, creation, access).

            Use -tsm to save the file modification time, -tsc for creation
            time and -tsa for last access time. Multiple -ts switches,
            such as -tsc -tsa, are allowed. If 'm', 'c' or 'a' are not
            specified, all three file times are assumed.

            Append '+' to store a file time with maximum possible precision.
            Concrete value depends on a operating system and file system
            and can be up 100 nanoseconds in Windows and 1 nanosecond
            in Unix. Append '1' to set 1 second precision or '-' to not save
            a file time. If '+', '-' or '1' are not present, '+' is assumed,
            so -ts+ and -ts both save all three high precision times.

            RAR 4.x archives always contain the modification time
            and for RAR 4.x archive -tsm- still saves the modification time
            with the lowest possible 2 second precision. Two other times
            can be disabled. RAR 5.0 archives allow to omit any file time
            including modification, so unpacked files will have the current
            system time. Switches -tsm- -tsc- -tsa or just -ts- will store
            a low precision modification time for RAR 4.x and no file time
            for RAR 5.0 archive.
            
            If -ts switch is not specified, RAR stores the high precision
            modification time and omits two other times.

            It is necessary to specify -tsc and -tsa switches to set
            creation and access times when unpacking. By default RAR sets
            only the modification time, even if archive contains other times.
            Use -tsm- or just -ts- to set the current system time instead of
            modification time stored in archive for unpacked files.

            Windows allows to set all three file times when unpacking.
            In Unix we can set the modification and last access, but not
            creation time.

            Examples:

            1) rar a -ts backup

            Store all file times with the highest possible precision.

            2) rar x -tsa backup

            Restore modification and last access time. Switch -tsm is not
            required, because RAR sets the modification time by default.
            If we wish to restore only the last access time, we should use
            -tsm- -tsa switches.

            3) rar a -tsm1 -tsc1 backup

            Store low precision modification and creation times.


    -u      Update files. May be used with archive extraction or creation.
            The command string "a -u" is equivalent to the command 'u', you
            could also use the switch '-u' with the commands 'm' or 'mf'. If
            the switch '-u' is used with the commands 'x' or 'e', then files
            not present on the disk and files newer than their copies on the
            disk would extracted from the archive.


    -v      Create volumes with size autodetection or list all volumes

            This switch may be used when creating or listing volumes.

            In the first case it enables volume size autodetection,
            so new volumes will use all available space on the destination
            media. It is convenient when creating volumes on removable
            disks. You may read more about volumes in -v<size> description.

            In the second case, when this switch is used together with
            'V' or 'L' command, it forces RAR to list contents of all
            volumes starting from that specified in the command line.
            Without this switch RAR displays contents of only one single
            specified volume.


    -v<size>[k|b|f|m|M|g|G]
            Create volumes with size=<size>*1000 [*1024 | *1].
            By default this switch uses <size> as thousands (1000) of bytes
            (not 1024 x bytes). You may also enter the size in kilobytes
            using the symbol 'k', in bytes using the symbol 'b',
            megabytes - 'm', millions of bytes - 'M', gigabytes - 'g',
            billions (milliards) of bytes - 'G' or select one of several
            predefined values using the symbol 'f' following the numerical
            value. Predefined values can be 360, 720, 1200, 1440 or 2880
            and replaced with corresponding floppy disk size.

            If the size is omitted, autodetection will be used.

            It is allowed to enter decimal fractions using the dot as
            the decimal mark. For example, -v1.5g means 1.5 gigabytes.

            You may specify several -v switches to set different sizes
            for different volumes. For example:

              rar a -v100k -v200k -v300k arcname

            sets 100 KB size for first volume, 200 KB for second
            and 300 KB for all following volumes.

            If volumes are created on removable media, then after
            the creation of the first volume, the user will be prompted
            with:

              Create next volume: Yes/No/All

            At this moment in time, you should change the disks. Answering
            'A' will cause all volumes to be created without a pause.

            By default RAR volumes have names like 'volname.partNNN.rar',
            where NNN is the volume number. For RAR 4.x archive format
            using -vn switch it is possible to select another,
            extension based naming scheme, where the first volume file
            in a multi-volume set has the extension .rar, following
            volumes are numbered from .r00 to .r99. RAR 5.0 archives
            do not support -vn and extension based names.

            When extracting or testing a multi-volume archive you must use
            only the first volume name. If there is no next volume
            on the drive and the disk is removable, the user will be
            prompted with:

             Insert disk with <next volume name>

            Insert the disk with the correct volume and press any key.

            If while extracting, the next volume is not found and volumes
            are placed on the non-removable disk, RAR will abort with
            the error message:

             Cannot find <volume name>

            Archive volumes may not be modified. The commands 'd', 'f', 'u',
            's' cannot be used with Multi-volume sets. The command 'a' may
            be used only for the creation of a new multi-volume sequence.

            It is possible, although unlikely, that the file size, of a file
            in a multi-volume set, could be greater than its uncompressed
            size. This is due to the fact that 'storing' (no compression if
            size increases) cannot be enabled for multi-volume sets.

            Archive volumes may be Self-Extracting (SFX). Such an archive
            should be created using both the '-v' and '-sfx' switches.

            Example:

            create archive in volumes of fixed size:

            rar a -s -v1440 floparch.rar *.*

            will create solid volumes of size 1440000 bytes.


    -vd     Erase disk contents before creating volume

            All files and directories on the target disk will be erased
            when '-vd' is used.  The switch applies only to removable
            media, the hard disk cannot be erased using this switch.


    -ver[n] File version control

            Forces RAR to keep previous file versions when updating
            files in the already existing archive. Old versions are
            renamed to 'filename;n', where 'n' is the version number.

            By default, when unpacking an archive without the switch
            -ver, RAR extracts only the last added file version, the name
            of which does not include a numeric suffix. But if you specify
            a file name exactly, including a version, it will be also
            unpacked. For example, 'rar x arcname' will unpack only
            last versions, when 'rar x arcname file.txt;5' will unpack
            'file.txt;5', if it is present in the archive.

            If you specify -ver switch without a parameter when unpacking,
            RAR will extract all versions of all files that match
            the entered file mask. In this case a version number is
            not removed from unpacked file names. You may also extract
            a concrete file version specifying its number as -ver parameter.
            It will tell RAR to unpack only this version and remove
            a version number from file names. For example,
            'rar x -ver5 arcname' will unpack only 5th file versions.

            If you specify 'n' parameter when archiving, it will limit
            the maximum number of file versions stored in the archive.
            Old file versions exceeding this threshold will be removed.


    -vn     Use the old style volume naming scheme

            By default RAR volumes have names like 'volname.partNNN.rar',
            where NNN is the volume number. For RAR 4.x archive format
            using -vn switch it is possible to select another,
            extension based naming scheme, where the first volume file
            in a multi-volume set has the extension .rar, following
            volumes are numbered from .r00 to .r99. RAR 5.0 archives
            do not support -vn and extension based names.


    -vp     Pause before each volume

            By default RAR asks for confirmation before processing
            next volume only when archiving to removable disks and only
            if free disk space is less than volume size. This switch
            forces RAR to always ask for such confirmation when creating
            or extracting volumes. For example, it can be useful if you
            wish to copy new volumes to another media immediately after
            creating.


    -w<p>   Assign work directory as <p>. This switch may be used to assign
            the directory for temporary files.


    -x<f>   Exclude the specified <f> file or directory. Wildcards can be
            used in both the name and path parts of file mask. You can
            specify the switch '-x' several times to define several
            exclusion masks in the same command line.

            If mask contains wildcards, it applies to files in current
            directory and its subdirectories. It is not recursive without
            wildcards, so "filename" mask will exclude 'filename' file
            only in current directory when archiving or in root archive
            directory when extracting.

            Use "*\filename" syntax to exclude "filename" recursively
            in all directories.

            If you know the exact path to file, you can use "path\filename"
            syntax to exclude only this copy of "filename". If you use
            -xpath\filename syntax when unpacking an archive, "path" must be
            the path inside of archive, not the file path on the disk after
            unpacking.

            By default, masks containing wildcards are applied only to files.
            If you need a mask with wildcards to exclude several directories,
            use the special syntax for directory exclusion masks.
            Such masks must have the trailing path separator character
            ('\' for Windows and '/' for Unix). For example, "*tmp*\" mask
            will exclude all directories matching "*tmp*" and "*\tmp\" will
            exclude all 'tmp' directories. Since wildcards are present,
            both masks will be applied to contents of current directory
            and all its subdirectories.

            If you wish to exclude only one directory, specify the exact
            name of directory including the absolute or relative path
            without any wildcards. In this case you do not need to append
            the path separator to mask, which is required only for directory
            exclusion masks containing wildcards to distinguish them
            from file exclusion masks.

            Examples:

            1) rar a -r -x*.jpg -x*.avi rawfiles

            compress all files except *.jpg and *.avi in current directory
            and its subdirectories;

            2) rar a -r -x*\temp\ savec c:\*

            compress all files on the disk c: except 'temp' directories
            and files inside of 'temp' directories;

            3) rar x -x*.txt docs

            extract all files except *.txt from docs.rar.


    -x@<lf> Exclude files listed in the specified list file. If you use -x@
            without the list file name parameter, it will read file names
            from stdin.

            Example:

            rar a -x@exlist.txt arch *.exe


    -y      Assume Yes on all queries.


    -z[file]
            Read archive comment from file <file>.
            
            This switch can be used with any archive modification command
            to read the archive comment from file and add it to archive.
            Use with -sc switch if you need to specify the character set
            for comment text file. If <file> is not present, comment
            is read from stdin.



 Limitations
 ~~~~~~~~~~~

    Command limitations:

    Commands 'd','u','f','c','cf' will not operate with archive volumes.

    Command 'a' cannot be used to update an archive volume, only to
    create a new one.


 Exit values
 ~~~~~~~~~~~

    RAR exits with a zero code (0) in case of successful operation.
    Non-zero exit code indicates some kind of error:

    Code   Description   

     0     Successful operation.
     1     Non fatal error(s) occurred.
     2     A fatal error occurred.
     3     Invalid checksum. Data is damaged.
     4     Attempt to modify an archive locked by 'k' command.
     5     Write error.
     6     File open error.
     7     Wrong command line option.
     8     Not enough memory.
     9     File create error
    10     No files matching the specified mask and options were found.
    11     Wrong password.
   255     User stopped the process.


 Glossary
 ~~~~~~~~

    Archive      Special file containing one or more files optionally
                 compressed and/or encrypted.

    Compression  A method of encoding data to reduce it's size.

    Checksum     Value calculating for data block or file and allowing to
                 check data or file validity.

    SFX archive  SelF-eXtracting archive. Archive in executable format,
                 consisting of self-extracting module followed by
                 compressed data. It is enough to run such executable to
                 start extraction.

    Solid        An archive packed using a special compression method which
                 sees all files as one continuous data stream. Particularly
                 advantageous when packing a large number of small files.

    Volume       Part of a split archive. Splitting an archive to volumes
                 allows storing them on several removable disks.
                 Solid volumes must be extracted starting from first
                 volume in sequence.



 Copyrights

    (c) 1993-2017 Alexander Roshal



