User's Manual
~~~~~~~~~~~~~
RAR 6.02 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 MB 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 is a single character or string specifying an action to be
performed by RAR. Switches are designed to modify the way RAR performs
such action. Other parameters are archive name and files to be archived
or extracted.
Listfiles are plain text files containing names of files to process.
File names must start at the first column. It is possible to
put comments to the listfile after // characters. For example,
you can 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 can 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.
path_to_extract includes the destination directory name followed by
a path separator character. For example, it can be c:\dest\ in Windows
or data/ in Unix. It specifies the directory to place extracted files
in x and e commands. This directory is created by RAR if it does not
exist yet.
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 backslash, 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. If this command removes all files
from archive, the empty archive is 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' directory
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, UTF-8, UTF-16 and OEM (Windows only)
character tables;
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.
RAR cannot modify locked archives, so locking important archives
prevents their accidental modification by RAR. Such protection
might be especially useful in case of RAR commands processing
archives in groups.
This command is not intended or able to prevent modification
by other tools or willful third party. It implements a safety
measure only for accidental data change by RAR.
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