【问题标题】:How to add files/folders to multiple zip files at once with WinRAR?如何使用 WinRAR 一次将文件/文件夹添加到多个 zip 文件?
【发布时间】:2012-03-06 13:39:04
【问题描述】:

有没有办法一次将文件/文件夹添加到多个 zip 文件中。例如:

更新:

folder1
folder2
file1
file2

档案:

archive1.zip
archive2.zip
archive3.zip

我需要将更新添加到所有档案,而不是打开所有档案并在其中粘贴更新。

有什么办法吗?

或者是否有其他存档程序可以做到这一点?

【问题讨论】:

  • 属于超级用户

标签: zip winrar


【解决方案1】:

这可以使用批处理文件来完成,例如 WinRAR

@echo off
if not exist archive*.zip (
    echo There are no archive*.zip files to update in
    echo.
    echo %CD%
    echo.
    pause
    goto :EOF
)
set "ErrorCount=0"
for %%I in (archive*.zip) do (
    "%ProgramFiles%\WinRAR\WinRar.exe" u -afzip -cfg- -ep1 -ibck -inul -r -y "%%I" folder1 folder2 file1 file2
    if errorlevel 1 (
        echo Error on updating %%I
        set /A ErrorCount+=1
    )
)
if not "%ErrorCount%" == "0" (
    echo.
    pause
)
set "ErrorCount="

对于每个 archive*.zip 文件,调用 WinRAR 来更新包含两个文件夹和两个文件的 ZIP 文件。

如果找到的所有 ZIP 文件都可以成功更新,则批处理完成且不打印任何消息且不暂停。否则批处理文件会输出无法更新的 ZIP 文件,例如由于设置了只读属性,并在完成之前暂停批处理,以便用户可以阅读错误消息。

有关 WinRAR 命令u 的详细信息以及在 WinRAR 中从菜单帮助 帮助主题,在标签 Contents 上打开项目 命令行模式 并至少阅读帮助页面:

  • 命令行语法
  • 命令 - 按字母顺序排列的命令列表
  • 开关 - 字母开关列表

要了解其他使用的命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读每个命令显示的所有帮助页面。

  • echo /?
  • for /?
  • goto /?
  • if /?
  • pause /?
  • set /?

【讨论】:

    【解决方案2】:

    你可以使用7zip命令行版本来做到这一点

    7z a archive1.zip dir\ -v10k -v15k -v2m @listfile.txt
    

    这将归档所有文件,并且文件夹位于名为“dir”的文件夹中 第一卷为 10kb,第二卷为 15kb,除最后一卷外,其他每卷为 2mb 并且您可以使用包含所有已命名文件列表的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多