【问题标题】:How to create a multi-volume RAR archive and create par2 recovery files with a batch file?如何创建多卷 RAR 存档并使用批处理文件创建 par2 恢复文件?
【发布时间】:2015-07-05 04:32:18
【问题描述】:

我有一个为 WinRAR 存档创建 par2 恢复文件的批处理。

但不幸的是,创建的批处理仅用于存档 xxx.part1.rar 的 par2 文件...

这是我用来压缩文件夹的那一行:

if "!FolderName:_UNPACK_=!" == "%%~nxF" (
    "C:\Program Files\WinRAR\Rar.exe" m -ep1 -hp[password] -pxxx -mt5 -m1 -v50M -r "C:\Users\xxx\Desktop\xxx\%_RndAlphaNum%" "%%~F"
)

那是我用于 par2 的 RAR 存档文件的行:

"C:\Program Files\xxx\phpar2.exe" c -r5 -b3000 "C:\Users\xx\Desktop\xxx\*.rar"

【问题讨论】:

    标签: winrar


    【解决方案1】:

    我无法重现任何问题。

    在不带任何参数的情况下运行phpar2.exe 会导致将帮助打印到命令提示符窗口中:

    phpar2 version 1.3, Copyright (C) 2003 Peter Brian Clements.
    
    phpar2 comes with ABSOLUTELY NO WARRANTY.
    
    This is free software, and you are welcome to redistribute it and/or modify
    it under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version. See COPYING for details.
    
    
    Usage:
    
      phpar2 c(reate) [options] <par2 file> [files] : Create PAR2 files
      phpar2 v(erify) [options] <par2 file> [files] : Verify files using PAR2 file
      phpar2 r(epair) [options] <par2 file> [files] : Repair files using PAR2 files
    
    Options:
    
      -b<n>  : Set the Block-Count
      -s<n>  : Set the Block-Size (Don't use both -b and -s)
      -r<n>  : Level of Redundancy (%%)
      -c<n>  : Recovery block count (Don't use both -r and -c)
      -f<n>  : First Recovery-Block-Number
      -u     : Uniform recovery file sizes
      -l     : Limit size of recovery files (Don't use both -u and -l)
      -n<n>  : Number of recovery files (Don't use both -n and -l)
      -m<n>  : Memory (in MB) to use
      -v [-v]: Be more verbose
      -q [-q]: Be more quiet (-q -q gives silence)
      --     : Treat all remaining CommandLine as filenames
    
    If you wish to create par2 files for a single source file, you may leave
    out the name of the par2 file from the command line.
    

    当一次为多个文件创建恢复数据时,虽然没有必要为 par2 文件指定文件名,但这是可取的。

    例如,当前目录为C:\Temp,目录C:\Temp\Test包含

    Test.part01.rar
    Test.part02.rar
    Test.part03.rar
    Test.part04.rar
    Test.part05.rar
    Test.part06.rar
    Test.part07.rar
    Test.part08.rar
    

    每个文件都有 4 MB,除了最后一个并且现在正在运行

    phpar2.exe c -r5 -b3000 "C:\Temp\Test\*.rar"
    

    phpar2.exe 打印到控制台窗口的输出是

    Block size: 9784
    Source file count: 7
    Source block count: 3003
    Redundancy: 5%
    Recovery block count: 150
    Recovery file count: 8
    
    Opening: Test.part02.rar
    Opening: Test.part03.rar
    Opening: Test.part04.rar
    Opening: Test.part05.rar
    Opening: Test.part06.rar
    Opening: Test.part07.rar
    Opening: Test.part08.rar
    Computing Reed Solomon matrix.
    Constructing: done.
    Wrote 1467600 bytes to disk
    Writing recovery packets
    Writing verification packets
    Done
    

    并且目录C:\Temp\Test还包含

    Test.part01.rar.par2
    Test.part01.rar.vol000+01.par2
    Test.part01.rar.vol001+02.par2
    Test.part01.rar.vol003+04.par2
    Test.part01.rar.vol007+08.par2
    Test.part01.rar.vol015+16.par2
    Test.part01.rar.vol031+32.par2
    Test.part01.rar.vol063+64.par2
    Test.part01.rar.vol127+23.par2
    

    使用命令行

    phpar2.exe c -r5 -b3000 TestRecovery.par2 "C:\Temp\Test\*.rar"
    

    phpar2.exe在当前目录C:\Temp创建的文件是

    TestRecovery.par2
    TestRecovery.vol000+01.par2
    TestRecovery.vol001+02.par2
    TestRecovery.vol003+04.par2
    TestRecovery.vol007+08.par2
    TestRecovery.vol015+16.par2
    TestRecovery.vol031+32.par2
    TestRecovery.vol063+64.par2
    TestRecovery.vol127+23.par2
    

    这是正确的结果。


    WinRAR 支持将恢复数据直接添加到每个 RAR 文件或单独的恢复卷文件。这可以通过使用带有命令rr(添加恢复数据)或rv(创建恢复卷)的WinRAR 或使用直接创建存档选项-rr-rv 来完成。

    对于您的批处理示例,用于为多卷存档的所有部分创建 1 个或多个具有 5% 恢复数据的单独恢复卷的命令行是:

    "C:\Program Files\WinRAR\Rar.exe" m -cfg- -ep1 -hpPassword -inul -mt5 -m1 -r -rv5p -v50M "%USERPROFILE%\Desktop\xxx\%_RndAlphaNum%" "%%~F"
    

    注意:Rar.exe 自动计算多卷存档的所有部分需要多少个最大文件大小为 5000 万字节(50 MB 需要写入小写,即-v50m)的恢复卷。

    有关恢复数据的详细信息,请阅读 WinRAR 的程序文件夹中的文本文件 Rar.txt,这是控制台版本 Rar.exe 的手册。

    GUI 版本WinRAR.exe 用于命令行使用的命令和开关(批处理文件)包含在WinRAR 的帮助中,打开后查看帮助 - 帮助主题在帮助选项卡 Contents 命令行模式下的项目。

    Rar.exephpar2.exe 是否为多卷存档的每个部分创建一个恢复文件。创建的恢复文件包含多卷存档所有部分的恢复数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 2020-06-15
      • 2020-06-23
      • 2013-08-31
      • 2014-06-21
      • 2013-07-21
      • 1970-01-01
      相关资源
      最近更新 更多