适用于 Windows 的免费命令行 Zip 实用程序?

适用于 Windows 的免费命令行 Zip 实用程序?

我正在尝试创建计划任务,用于将包含大量小文件的目录树从一台服务器复制到另一台服务器。直接复制目录树需要几天时间,所以我想压缩目录、复制 zip 文件并在目标服务器上解压可能会更快。

我尝试了 7Zip 的命令行实用程序 7z.exe。它因“无法分配内存”错误而卡住了。所以现在我正在寻找替代方案。

有谁知道有这样一个 zip 实用程序:

  1. 可在所有现代版本的 Windows 上运行
  2. 免费
  3. 可以通过命令行进行控制
  4. 不需要安装(只需复制 EXE 以及相关的 DLL,就像 7z.exe 那样。)
  5. 不会因目录树过大而阻塞

???

答案1

你有没有考虑过使用类似的东西Robocopy/MT选项吗?我猜并行复制会胜过压缩、传输和解压。我会从默认的 8 个线程开始,并监视两端的磁盘队列长度,以确保磁盘饱和,但不会过度损坏。Robocopy 还可以仅复制实际需要传输的文件。

Usage :: ROBOCOPY source destination [file [file]...] [options]

/MT[:n] :: Do multi-threaded copies with n threads (default 8).
           n must be at least 1 and not greater than 128.

如果由于某种原因这不起作用,我使用来自的 zip.exe 可执行文件取得了良好的成功Unx工具类包或更极端的 zip 需求,压缩文件可执行文件。在极端压缩设置下,Kzip 的压缩速度可能会慢很多,但我还没有看到过一个 zip 归档程序可以在标准归档中始终胜过它的空间效率。当然,它将作为独立的可执行文件运行,并且易于命令行编写脚本。我不能说我曾经在非常大的目录中使用过它们。

您还应该知道,“标准” ZIP 存档的最大大小为 4GB,最多可包含 65535 个文件。如果您的结构超出这些限制,则需要使用较新版本的 zip 标准 (ZIP64)。

答案2

信息ZIP是原始的免费 ZIP 程序。

我还没有在非常大的目录上尝试过。目录有多大(文件数量、总大小等)?

答案3

我可能会建议豌豆压缩作为可能的解决方案。它可以很容易地创建命令脚本来批量执行压缩任务,而不受 GUI 的负担和限制,并且它是 Robocopy 用于文件/目录复制操作的前端。

答案4

BZIP2:http://gnuwin32.sourceforge.net/packages/bzip2.htm

GZIP压缩:http://gnuwin32.sourceforge.net/packages/gzip.htm

柏油:http://gnuwin32.sourceforge.net/packages/gtar.htm

它们需要一些支持 dll,但它们很可能已经在大多数 Windows 安装中存在了。

值得尝试。

编辑:DeltaCopy 怎么样 - rsync 的 Windows 版本,尽管它仍然可能因文件数量而受到限制:http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

相关内容