This guide covers the use of the WinRAR command-line tools to compress and uncompress files in a directory, and their use in batch files. This guide is an extension of a previous post, Automate Zipping Tasks using the Command-line Interface, that covered the use of command-line tools for two free compression utilities, IZArc and 7-Zip. The information in this guide was tested on a Windows PC running Vista.
WinRAR is a popular and powerful archive manager that includes the command-line tools rar.exe and unrar.exe. Rar.exe is used to compress and unrar.exe to uncompress. Both executables are located in Program Files\WinRAR in the installable version. Although WinRAR is shareware, it can be used on a trial basis for 40 days. Using WinRAR’s command-line tools is similar those for IZArc and 7-Zip. The syntax for the executables is:
WinRAR <command> -<switch1> -<switchN> <archive> <files...> <@listfiles...> <path_to_extract\>
Examples to compress a folder:
rar a -r yourfiles.rar *.txt c:\yourfolder
creates archive yourfiles.rar and compresses all .txt files in c:\yourfolder and subfolders
rar a yourfiles
creates archive yourfiles.rar and compresses all files in the current folder, but doesn’t include subfolders (note lack of extension, WinRAR will use the default extension .rar)
“a” command adds to archive
“-r” switch recurses subfolders
Examples to uncompress a folder:
unrar x c:\yourfile.rar *.gif c:\extractfolder\
extracts all *.gif files from yourfile.rar to c:\extractfolder\ (trailing backslash required) and restores the folder structure
unrar e c:\yourfile.rar
extracts all files in c:\yourfile.rar to the current folder (folder structure ignored)
“x” command extracts with full paths
“e” command extracts and ignores paths
Basic rules for WinRAR:
- When files or listfiles are not specified, all files in the current folder are processed
- When specifying all files in a folder, yourfolder or yourfolder\*.* are equivalent
- Folder structures are automatically saved in archives
- WinRAR uses the default .rar extension, but that can be overridden by specifying the zip extension in the archive name
- Switches and commands are not case sensitive and can be written in either upper or lower case
Another point is that WinRAR doesn’t appear to use the Windows path environment variable, so it must be specified either at a command prompt, set permanently in the environment variable settings, or specified in a batch file.
To set it temporarily at a command prompt or in a batch file, just enter
set path="C:\Program Files\WinRAR\";%path%
To set it permanently in the Windows path, use start–>Control Panel–>System–>Advanced system settings–>Advanced Tab–>Environment Variables–>System Variables–>Path–>Edit. Add the path ;C:\Program Files\WinRAR; to the end (don’t forget the single semicolons at the beginning and end). Hit OK three times.
Using WinRAR in Batch Files:
Two batch file examples are provided. The first compresses all files in a folder, with the option to compress all files into a single archive or to compress them individually. The second batch file decompresses all .rar files from a folder and places the extracted files into another directory. Be sure to change the extension(s) to .bat before using either file.




Recent Comments