使用CentOS 6.x上的.rev文件提取和重建多卷归档文件要使用哪些命令?

使用CentOS 6.x上的.rev文件提取和重建多卷归档文件要使用哪些命令?,centos,rar,Centos,Rar,使用Centos 6.x中的.rev文件,可以使用哪些命令提取和重建缺少部分的多卷RAR档案 我有许多RAR档案,分为许多部分: dbzdv1 part01.rar part02.rar part03.rar ... dbzdv2 part01.rar part02.rar part03.rar ... 所有卷都使用相同的密码进行保护 1。我想用一个命令提取所有受保护的多卷RAR归档文件 每个RAR归档文件都分为许多部分 2。.rev文件应用于自动重建缺失

使用Centos 6.x中的.rev文件,可以使用哪些命令提取和重建缺少部分的多卷RAR档案

我有许多RAR档案,分为许多部分:

dbzdv1
   part01.rar
   part02.rar
   part03.rar
...
dbzdv2
   part01.rar
   part02.rar
   part03.rar
...

所有卷都使用相同的密码进行保护

1。我想用一个命令提取所有受保护的多卷RAR归档文件

每个RAR归档文件都分为许多部分

2。.rev文件应用于自动重建缺失的零件。

folder1
folder2
folder3
folder1 --> folder1.part01.rar
            folder2.part02.rar
3。提取后,我应该有包含文件的文件夹。

folder1
folder2
folder3
folder1 --> folder1.part01.rar
            folder2.part02.rar
我希望使用RAR通过一个命令将所有这些文件夹压缩到单独的归档文件中:

4。我想要一个无压缩的多卷RAR存档,如果提取的文件夹非常大,则自动测试错误。

folder1
folder2
folder3
folder1 --> folder1.part01.rar
            folder2.part02.rar
问题:

如果尝试使用此命令提取卷:

unrar e dbzdv1.part01.rar
在终端启动后不久,我被要求输入每个部分的密码,而不是整个多卷归档的密码。我不想为100-500个部件键入密码

如果我尝试在Wine上使用WinRAR并打开文件,则会输出错误
内存不足

导言 我没有使用CentOS,因此我的所有答案都没有在此操作系统上验证

WinRAR通常安装在具有3个可执行文件的Windows上:

  • GUI版本
    WinRAR.exe
    支持RAR和ZIP格式的压缩,甚至支持更常见的提取存档格式(共享软件)
  • 控制台版本
    Rar.exe
    仅支持压缩和提取Rar归档文件(共享软件)
  • 控制台应用程序
    unrr.exe
    仅用于提取RAR归档文件(免费,无需许可证)
在WinRAR的program files文件夹中,还有一个文本文件
Rar.txt
,它是控制台版本
Rar
的手册。GUI版本
WinRAR
支持几乎相同的一组开关,但也存在一些差异,如仅GUI版本支持的
-af
WinRAR
的完整开关列表可在字母开关列表(目录-命令行模式-开关)页的帮助中找到
Rar
unrr
输出一个简短的帮助,如果在命令提示窗口中执行而没有任何参数,则列出所有支持的命令和开关


从几个受密码保护的多卷归档文件中提取 开关
-p[pwd]
可在命令行上用于从任何类型的密码保护存档中提取文件,如
Rar.txt
中所述

示例:

UnRAR.exe x -pPasswordOfArchive MyArchive.rar
UnRAR.exe x "-p!Password Of Archive!" MyArchive.rar
根据脚本解释器命令行字符串的要求(Windows上为
cmd.exe,Linux上为bash或sh),如果密码包含1个或多个空格或其他特殊字符,则此带密码的开关必须用双引号括起来

只有在命令行上指定多卷存档的第一个文件,才能从存档的所有卷(部分)中提取所有文件和文件夹

例如:

UnRAR.exe x -pMyPassword MyMultiVolumeArchive.part1.rar
UnRAR.exe x -idcdp -ad -pCommonPassword *.rar
MyMultiVolumeArchive的其他文件(部分)必须与第一个文件位于同一目录中,并且所有部分都必须存在且有效

手册
Rar.txt
为命令
rv
包含以下段落:

RAR在使用
rc
命令时或在解包时无法找到下一个卷并找到所需数量的.rev文件时自动重建丢失和损坏的卷

我测试了关于自动使用*.rev文件的声明,对于Windows上的v5.10,在提取多卷RAR归档文件(独立于使用哪个可执行文件)以及多卷RAR4归档文件是否受密码保护、完全加密或不受保护时,这不是100%正确的。丢失的部分将使用恢复卷自动重建,但损坏的部分不会在提取文件时导致一个或多个校验和错误。在成功提取所有文件和文件夹之前,必须对具有损坏卷的多卷RAR归档运行重构

手册
Rar.txt
在关于Rar命令行语法的章节顶部包含以下段落:

许多RAR命令(如提取、测试或列表)允许在存档名称中使用通配符。如果存档掩码中未指定扩展名,RAR将假定
.RAR
,因此
*
表示扩展名为
.RAR
的所有存档。如果您需要在不扩展的情况下处理所有存档,请使用
*。
掩码<代码>*.
掩码选择所有文件。存档和删除时,存档名称中不允许使用通配符

因此,从同一目录中所有受密码保护的多卷RAR存档中提取所有文件和文件夹非常容易:

UnRAR.exe x -idcdp -pCommonPassword *.rar
unrr
自动检测目录中与类型无关的所有*.rar文件(单卷或多卷存档),并对其进行解压缩,从而不提取任何内容两次。因此,在提取MyMultiVolumeArchive.part1.rar后,它会自动在第2、3、3部分继续。。。在处理完这个多卷归档文件后,继续使用同一目录中不同文件名的下一个归档文件

另外,还可以使用开关
-ad
将存档的所有文件和文件夹提取到名为存档文件的文件夹中,以避免将不同存档的文件提取到同一目录中

例如:

UnRAR.exe x -pMyPassword MyMultiVolumeArchive.part1.rar
UnRAR.exe x -idcdp -ad -pCommonPassword *.rar
但要考虑到创建的文件夹还包含多卷存档的
.part*1
。因此,在多卷归档上使用此开关不会产生好看的文件夹名称

在Windows上,可以使用以下命令删除
.part*1<
for /F "usebackq delims=" %D in ( `dir /AD /B /ON` ) do "C:\Program Files\WinRAR\Rar.exe" a -cfg- -ep1 -inul -m5 -r -t -v10M "%D.rar" "%D"
@echo off
for /F "usebackq delims=" %%D in ( `dir /AD /B /ON` ) do "C:\Program Files\WinRAR\Rar.exe" a -cfg- -ep1 -inul -m5 -r-t -v10M "%%D.rar" "%%D"