我正在寻找 winrar 中 rar.exe 的命令行替代品,它支持 rar.exe 的多种选项,最好是开源的。
具体来说,我正在寻找至少支持以下选项的程序:
- 解压时“刷新”,即仅当现有文件比 zip 中的文件旧时才覆盖它们
- 将文件移动到 zip 中(如果成功则压缩并删除原始文件)
- 仅压缩具有存档属性的文件,删除存档属性
- 仅压缩比 x 更新 / 比 x 更旧 / 比 x 更小的文件...
- 更新档案时,保留同一档案中每个已更改文件的先前版本 (rar -ver[n])
- 设置压缩或解压时应包含相对路径的哪一部分
我发现的最复杂的免费工具 7zip 仅支持很少的选项(除非我错过了什么)。
winrar 的缺点是它是共享软件,并且它的命令行工具除了 rar 格式之外不能创建任何其他格式(可以使用 gui winrar 的许多命令行开关,但没有控制台输出)。
有没有一种免费的替代品可以做到这一切?
答案1
您永远找不到想要的东西,因为 RAR 格式是专有的,而且创建者没有表现出公开规范的兴趣。没有令人信服的理由使用它而不是其他任何替代方案。
如果您正在寻找开源,那么您就不会寻找 RAR。
答案2
如果您对编写 shell 脚本感到满意,那么我推荐 Cygwin。它是适用于 Windows 的 Linux 命令 shell 模拟器。它具有 Linux 的许多命令行功能。有了它,您可以将文件打包在一起,即将它们制作成一个存档并压缩它们。
它还具有 7zip 实用程序,如果您喜欢 .zip 格式,它可让您压缩文件。我个人更喜欢 .gz。我发现压缩效果更好。此外,您还可以压缩文件。您所要做的就是编译源代码,这是 rarlab.com(您可从那里获得 WinRar)免费提供的。
无论如何,话虽如此,您将能够控制要完成的归档任务的许多方面。但需要注意的是,您必须能够或愿意学习如何编写 shell 脚本。