有什么方法可以一次将文件/文件夹添加到多个 zip 文件中。例如:
更新:
folder1
folder2
file1
file2
档案:
archive1.zip
archive2.zip
archive3.zip
我需要向所有档案添加更新,而无需打开所有档案并在其中粘贴更新。
有什么办法可以做到这一点?
或者是否有其他存档程序可以做到这一点?
这可以使用批处理文件来完成,例如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 /?
您可以使用 7zip 命令行版本来完成
7z a archive1.zip dir\ -v10k -v15k -v2m @listfile.txt
这将归档所有文件,文件夹位于名为“dir”的文件夹中,第一个卷为 10kb,第二个为 15kb,除最后一个之外,其他每个为 2mb,您可以使用包含所有文件列表的文件命名。