0

有什么方法可以一次将文件/文件夹添加到多个 zip 文件中。例如:

更新:

folder1
folder2
file1
file2

档案:

archive1.zip
archive2.zip
archive3.zip

我需要向所有档案添加更新,而无需打开所有档案并在其中粘贴更新。

有什么办法可以做到这一点?

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

4

2 回答 2

2

这可以使用批处理文件来完成,例如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="

对于每个存档*.zip文件,调用WinRAR以使用两个文件夹和两个文件更新 ZIP 文件。

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

有关WinRAR命令u和使用的开关的详细信息,请从菜单Help the Help topics中打开WinRAR,在选项卡Contents中打开Command line mode并至少阅读帮助页面:

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

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

  • echo /?
  • for /?
  • goto /?
  • if /?
  • pause /?
  • set /?
于 2016-06-19T18:01:40.883 回答
0

您可以使用 7zip 命令行版本来完成

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

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

于 2012-03-06T14:01:10.013 回答