有没有办法将 .zip 解压到文件夹并将该文件夹的内容与 .zip 的内容同步?
我知道你可以使用 -u(pdate) 选项来更新文件夹,添加较新的文件,但这还不够。我需要它进行实际同步(删除 .zip 中不存在的文件,并更新较新的文件)。
它还需要速度快,因为我将同步大型 .zip 文件。因此,清除文件并彻底解压不是一个选项。
我愿意接受任何能完成这项工作的工具。但它必须能在命令行下无人值守地工作。
答案1
压缩包具有一个名为以下选项的命令行支持附加组件WZUNZIP.EXE
,可在提取时与其参数结合使用-e
:
-n-- 仅解压较新的文件。如果存档文件较新,此选项将更新现有文件;如果文件尚不存在,则创建新文件。
答案2
我自己也花了很长时间寻找具有此功能的程序。Info-ZIP 实用程序是免费的、基于命令行的,并且有一个 -FS 开关,除了更新较新的文件外,它还会从存档中删除源文件夹中不再存在的文件。例如 ZIP 文件同步。 http://www.info-zip.org/ 注意:我对此实用程序的唯一问题是,没有工具可以将源文件夹明确指定为命令行参数的一部分。它使用当前工作目录作为源。因此,在脚本中,您将使用 CD 命令首先更改为源目录,然后启动 ZIP 命令。例如:
CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .