WinRAR 的程序文件夹中有一个文本文件Rar.txt,它是控制台版本Rar.exe 的手册,其中还包含UnRAR.exe 支持的所有命令和开关。无法创建、更新或修复 RAR 档案。
仅在命令提示符窗口中运行UnRAR.exe 而不使用任何参数会导致显示所有支持的命令和开关以及简要说明。
UnRAR、Rar 和 WinRAR 支持在一个目录中解压多个 *.rar 文件,而无需通过单个命令使用 FOR 循环的批处理文件。
对于解压多卷存档,在命令行中指定第一个 RAR 存档文件的文件名就足够了。 UnRAR、Rar 和 WinRAR 自动检测此文件是多卷存档的第一个文件并自动处理所有卷。
当然,UnRAR、Rar 和 WinRAR 在解压包含多个单独存档以及 1 个或多个多卷的文件夹的所有 *.rar 文件时,不会多次处理每个 *.rar 文件档案。
为了用一行解压多个独立的 *.rar 档案,-ad 开关可能有助于避免所有独立档案的内容合并到同一个目录中。
要将目录C:\Temp 中的所有*.rar 存档解压到目录C:\Temp\Extracted,并将所有存档中的文件和文件夹合并到该目录并自动覆盖所有现有文件,请使用以下命令:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"
提取C:\Temp 中的所有*.rar 文件,并将每个独立的存档提取到C:\Temp\Extracted 的子目录中,并使用存档文件的名称来实现:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -ad -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"
-ad 开关使输出文件夹有所不同。
C:\Temp\Extracted 是否已经存在或尚不存在用于解压缩档案并不重要。 UnRAR、Rar 和 WinRAR 总是在提取时创建整个目录树到输出文件夹,如果这是必要的,当然是可能的(写权限,驱动器/共享存在并且没有写保护)。
让我们看一个例子,让差异更加清晰。
C:\Temp 中有 2 个 RAR 压缩文件 MyFirstArchive.rar 和 AnotherArchive.rar,包含以下文件和文件夹。
MyFirstArchive.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 6302 11-10-15 15:25 zzz.doc
....... 940942 26-08-15 08:07 yyy.txt
....... 1430688 06-10-14 05:49 Folder1\xxx.pdf
...D... 0 12-10-15 07:10 Folder1
----------- --------- -------- ----- ----
2377932 4
AnotherArchive.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 28165 08-01-12 17:50 zzz.doc
....... 3743 29-10-14 07:18 Folder2\index.txt
....... 27141 29-10-14 07:18 Folder1\index.txt
....... 940942 26-08-15 08:07 index.txt
...D... 0 12-10-15 07:10 Folder1
...D... 0 12-10-15 07:12 Folder2
----------- --------- -------- ----- ----
999991 6
第一个命令的结果是:
-
C:\Temp\Extracted
-
文件夹 1
-
文件夹 2
- index.txt
- yyy.txt
- zzz.doc
AnotherArchive.rar 中的zzz.doc 已覆盖MyFirstArchive.rar 中的zzz.doc。
带有开关-ad 的第二个命令导致:
-
C:\Temp\Extracted
-
MyFirstArchive
-
另一个存档
-
文件夹 1
-
文件夹 2
- index.txt
- zzz.doc
两个档案的文件夹和文件被提取到不同的文件夹中,并以档案文件的名称命名。