Zip - 添加较新的文件和文件夹,删除旧的

Posted

技术标签:

【中文标题】Zip - 添加较新的文件和文件夹,删除旧的【英文标题】:Zip - Add files and folders that are newer, remove old ones 【发布时间】:2011-07-20 09:57:54 【问题描述】:

我想在 Windows 和 Linux 机器上执行以下操作:

自动压缩多个文件夹

将新文件添加到存档,删除旧文件。

我使用 7zip 对 .bat 和 .sh 脚本进行了试验,但遇到了一些限制(不容易从现有存档中更新/删除,Linux 需要首先采用 .tar 格式的文件夹)。

我决定编写一个 Java 应用程序来进行决策(存档已过期),并将调用 7zip 来压缩文件。

我是以下伪代码的东西:

Get modified date of archive
Get latest modified date of files within folder
If latest modified date is later that archive date
    Delete archive
    Create new archive

文件夹层次结构中有多个档案,因此如果需要更新文件夹,这将减少处理。

听起来不错?还是有其他更简单的方法?

【问题讨论】:

【参考方案1】:

如果您真的想在 Java 中执行此操作,我建议您使用 java.util.zip 而不是 7zip。

更好的解决方案可能是执行7z -u,然后使用选项。

http://sevenzip.sourceforge.jp/chm/cmdline/switches/update.htm

【讨论】:

以上是关于Zip - 添加较新的文件和文件夹,删除旧的的主要内容,如果未能解决你的问题,请参考以下文章

为啥在较新的 Android 设备上预检失败,但在较旧的设备和台式机上却没有?

将较新的 Visual Studio 版本与较旧的 MFC 版本一起使用?

Linux 下 zip 文件解压乱码如何解决?

存储桶之间的 AWS S3 同步覆盖较新的目标文件

TXT文件批量移动到一个文件夹

如何在 WinRT 8.1 中使用 SharpCompress 删除/添加和输入 zip 文件