Wednesday, April 9, 2014

Using the WinRAR Command-line tools in Windows

WinRAR is a popular and powerful archive manager that can be used from the command-line or with scripting languages such as batch files. It includes two command-line tools, rar.exe and unrar.exe, where rar.exe compresses and unrar.exe uncompresses files. Both are located in the “C:\Program Files\WinRAR” folder 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 to those for IZArc and 7-Zip. The syntax for using the WinRAR executables is:
WinRAR  - -   <@listfiles...> 

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 all its 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 the 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

Example using Multiple Switches:

rar a -r -u -df -x*.bat earchive.rar c:\test\*.*
compresses all new or updated files from c:\test and its subfolders to earchive.rar, deletes the files after they are added to the archive, and excludes any files with a “bat” extension,
“a” command adds to the archive
“-r”  switch recurses subfolders
“-u” switch. Equivalent to the “u” command when combined with the “a” command. Adds new files and updates older versions of the files already in the archive
“-df” switch deletes files after they are moved to the archive
“-x” switch excludes the specified file(s) from the operation
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 (but not automatically extracted)
  • WinRAR uses the .rar extension by default, 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 the Windows path environment variable temporarily at a command prompt or in a batch file, use the following command:
set path="C:\Program Files\WinRAR\";%path%
To set it permanently in the Windows path for your PC:
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 (compress_rar_rev1.bat) provides several compression options such as such as compressing all files in a folder or a folder and its subfolders, with options to compress them into a single archive or individually and to include or exclude paths. The second batch file (uncompress_rar.bat) 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. Both of the following batch files temporarily set the Windows path environment variable for the WinRAR folder when executed.

No comments:

Post a Comment