RAR 是一个非常流行的压缩和解压缩工具,其命令行版本功能强大且灵活,即使在今天,在服务器自动化脚本等场景下仍在使用,下面我将从基础到进阶,为你全面介绍 DOS 下的 RAR 命令。

前提条件:安装 RAR
在 DOS 或 Windows 命令提示符(CMD)中使用 RAR 命令,首先需要确保你已经安装了 RAR。
- 下载:从 RAR 官网 (https://www.rarlab.com/rar/unrarw32.htm) 下载适用于 Windows 的命令行版本。
- 安装:下载后解压到一个固定的目录,
C:\Program Files\WinRAR。 - 配置环境变量(推荐):为了能在任何目录下直接使用
rar命令,最好将WinRAR的安装目录(C:\Program Files\WinRAR)添加到系统的PATH环境变量中,这样你就不需要每次都输入完整的路径。
如何检查是否可用? 打开命令提示符(CMD),输入以下命令:
rar -?
如果能看到帮助信息,说明安装和配置成功。
核心命令语法
RAR 命令的基本格式如下:

rar <命令> <选项> <压缩文件名> <文件/目录列表...>
<命令>:这是必须的,告诉 RAR 你要做什么(a代表添加,x代表解压)。<选项>:可选参数,用于控制命令的行为(-r代表递归,-v代表分卷)。<压缩文件名>:要创建或操作的压缩包的名称(myarchive.rar)。<文件/目录列表...>:要添加到压缩包或要从压缩包中提取的文件或目录。
最常用命令详解
创建压缩包
这是最核心的命令,用于将文件和文件夹打包成 .rar 文件。
命令:a (Add)
语法:
rar a [选项] <压缩文件名> <文件/目录列表>
常用选项:

-r(Recursive):递归处理,如果你要压缩一个目录,这个选项会把该目录下的所有子目录和文件都包含进来。-m0/-m1/-m2/-m3/-m5:压缩方法。-m0:存储(不压缩,最快)-m1:最快压缩-m3:快速压缩-m5:最大压缩(最慢,压缩率最高,默认)
-s(Solid):创建固实压缩包,固实压缩包能显著提高压缩率,特别是对大量小文件,但会降低随机访问单个文件的速度。-v<size>(Volume):创建分卷压缩。<size>可以是100k,250k,1m,10m,100m等。-p<password>:设置密码。
示例:
-
示例 1:压缩单个文件
rar a mydoc.rar report.txt
将
report.txt压缩成mydoc.rar。 -
示例 2:压缩整个目录(包含子目录)
rar a -r myproject.rar C:\myproject
将
C:\myproject目录及其所有内容递归地压缩成myproject.rar。 -
示例 3:创建高压缩率的固实压缩包
rar a -m5 -s mydocs.rar C:\documents
-
示例 4:创建 10MB 的分卷压缩包
rar a -v10m bigbackup.rar C:\large_folder
这会生成
bigbackup.rar,bigbackup.r01,bigbackup.r02等文件。 -
示例 5:创建带密码的压缩包
rar a -p123456 secret.zip important_file.txt
提示输入密码
123456来加密important_file.txt。
解压压缩包
命令:x (Extract with full paths) 和 e (Extract without paths)
x:解压时保留压缩包内的完整目录结构,这是最常用的解压命令。e:只解压文件,忽略目录结构,全部解压到当前目录。
语法:
rar x [选项] <压缩文件名> [目标目录]
常用选项:
-p<password>:如果压缩包有密码,使用此选项提供。-y(Yes to all):对所有提示回答“是”,自动覆盖已存在的文件。
示例:
-
示例 1:解压到当前目录,保留路径
rar x myproject.rar
myproject.rar内部有src\code.c,解压后会创建src\code.c。 -
示例 2:解压到指定目录
rar x myproject.rar C:\unpacked\project
将所有文件解压到
C:\unpacked\project目录下。 -
示例 3:解压时覆盖所有文件
rar x -y myproject.rar
-
示例 4:解压带密码的文件
rar x -p123456 secret.zip
查看压缩包内容
命令:l (List) 和 v (Verbose list)
l:简要列出压缩包内的文件。v:详细列出压缩包内的文件,包括详细信息(如压缩率、日期、大小等)。
语法:
rar v <压缩文件名>
示例:
rar v myproject.rar
会显示 myproject.rar 中每个文件的详细信息。
其他常用命令
-
t(Test):测试压缩包的完整性。rar t myproject.rar
这个命令非常重要,可以检查压缩包是否损坏。
-
d(Delete):从压缩包中删除文件。rar d myproject.rar old_file.txt
-
u(Update):更新压缩包,只添加压缩包中不存在或已更新的文件。rar u myproject.rar C:\myproject\new_file.txt
常用选项速查表
| 选项 | 全称/描述 | 示例 |
|---|---|---|
a |
Add (添加文件到压缩包) | rar a archive.rar file.txt |
x |
eXtract (解压并保留路径) | rar x archive.rar |
e |
Extract (解压但不保留路径) | rar e archive.rar |
l |
List (简要列出内容) | rar l archive.rar |
v |
Verbose list (详细列出内容) | rar v archive.rar |
t |
Test (测试压缩包完整性) | rar t archive.rar |
d |
Delete (从压缩包中删除) | rar d archive.rar file.txt |
u |
Update (更新压缩包) | rar u archive.rar new_file.txt |
-r |
Recursive (递归处理目录) | rar a -r archive.rar folder |
-m0-5 |
Method (压缩级别, 5为最高) | rar a -m5 archive.rar |
-s |
Solid (创建固实压缩包) | rar a -s archive.rar |
-v<size> |
Volume (创建分卷) | rar a -v10m archive.rar |
-p<pass> |
Password (设置密码) | rar a -pmypassword archive.rar |
-y |
Yes to all (对所有提示回答“是”) | rar x -y archive.rar |
批处理脚本示例
RAR 命令行非常适合用于自动化任务,你可以创建一个批处理文件(.bat)来备份某个目录。
示例:创建一个备份脚本 backup.bat
@echo off
echo 正在开始备份...
:: 设置变量
set "SOURCE_DIR=C:\important_data"
set "BACKUP_FILE=C:\backups\data_backup_%date:~0,4%%date:~5,2%%date:~8,2%.rar"
set "LOG_FILE=C:\backups\backup_log.txt"
:: 检查源目录是否存在
if not exist "%SOURCE_DIR%" (
echo 错误:源目录 %SOURCE_DIR% 不存在!
pause
exit /b 1
)
:: 执行压缩命令,并输出日志到文件
echo 将 %SOURCE_DIR% 备份到 %BACKUP_FILE%...
rar a -m5 -r -y "%BACKUP_FILE%" "%SOURCE_DIR%" >> "%LOG_FILE%" 2>&1
:: 检查命令是否成功
if %ERRORLEVEL% EQU 0 (
echo 备份成功完成!
echo 备份详情请查看 %LOG_FILE%
) else (
echo 备份失败!请检查日志 %LOG_FILE%
)
echo.
pause
如何使用:
- 将上述代码保存为
backup.bat文件。 - 修改
SOURCE_DIR和BACKUP_FILE的路径为你自己的路径。 - 双击运行
backup.bat,它就会自动将C:\important_data的内容压缩成一个带日期的 RAR 文件,并将过程记录在日志文件中。
希望这份详细的指南能帮助你熟练掌握 DOS 下的 RAR 命令!
