如何在Windows中拆分和合并.zip文件?

我需要在Ubuntu上将一个.zip文件拆分成.z01、.z02等文件,以便在Windows上重新合并它们。
我无法在Windows中访问命令提示符。现在该如何解压文件?
6个回答

在Ubuntu上,你可以使用split命令来分割你的zip文件。类似这样的命令应该可以工作:
split your-zip.zip -b 32M ZIPCHUNKS

这将按顺序创建一堆ZIPCHUNKS*文件,每个文件的大小都不超过32 MB。更改32M参数以调整块大小。

传统上,您可以使用cat命令将它们拼接在一起:

cat ZIPCHUNKS* > reassembled-zip.zip

既然你想在Windows上进行重新组装,你需要一个替代cat的工具。 Windows上是否有替代cat的工具 可能会有所帮助,但要注意的是当处理多个文件时,Windows的type命令不起作用,因为它会在文件之间添加文件名。一个可行的方法是使用copy /b ZIPCHUNKS* > reassembled-zip.zip

你还可以使用rar,它本身支持创建“分割”存档,然后可以通过Windows上的GUI工具(如WinZip或WinRar)进行解压缩。在Ubuntu上,安装rar软件包,然后执行以下操作:

rar a -v32M destination.rar files/to/compress

这将创建名为destination.partXX.rar的文件。将它们传输到Windows上,然后解压缩第一个文件(destination.rar),它会自动链接到其他文件。
一个可能使用的技巧是“rar”原始的zip文件,这样你就可以在Windows上重新组装它。如果你有原始文件,只需要将它们打包成rar格式进行处理可能更容易一些。

谢谢你对split命令以及stackoverflow链接的帮助,真的很有帮助。现在我想知道,既然我没有访问命令行的权限了,那么我该如何解压这些分割的文件呢? - kunaguvarun
您的命令ZIPCHUNKS创建了ZIPCHUNKSaa等文件。它们的文件类型未知。我想知道它们是否能在Windows中被检测到。 - kunaguvarun
“Chunks”不是独立的zip文件,需要将它们重新组合以使zip文件有效。我会更新我的答案,展示一种使用rar的方法来处理这个问题,它可以生成“分块”存档(称为“卷”),并且可以使用WinZip(我希望您已经安装)或WinRAR进行解压缩。如果没有,请告诉我您的Windows系统上安装了哪些存档管理工具。 - roadmr
是的,这些块本身是无法识别的,我不会相信Windows能将它们识别为任何东西,所以我提到你必须以某种方式重新组装它们,然后将结果文件重命名为.zip。但是这些碎片本身在重新组装之前是无用的。 - roadmr
谢谢 roadmr。我使用了带有 --out 选项的 zip 命令,它们在 Windows 上是可识别的。 - kunaguvarun

使用zip命令和-s split_size选项来压缩文件。 以下是示例命令。
zip -r -s 100m filename.zip  compress_folder

非常简单:首先在Linux/Unix中执行split your-zip.zip -b 32M ZIPCHUNKS,然后在Windows中执行type * > myZipFile.zip

你的回答似乎是对@roadmr接受的答案的抄袭 - Yaron
1@Yaron 不是的。这是他回答的一个非常直接的版本。他的回答没有包含与在Windows中粘合拆分的压缩文件相关的部分。 - Amir
2当有多个文件时,类型将添加文件名和格式。使用copy /b *.in file.out代替。 - James Newton

我一年多以前不得不这样做。这很不方便,因为Windows没有相同的工具。
最后我使用了GSplit,它可以在WINE(或PlayOnLinux)下运行。它会创建一个.exe文件和一堆.gsd文件。如果你要压缩PDF文件,你需要先将其预压缩,因为Windows会感到困惑!

谢谢,但是在我需要合并文件的地方,我没有安装任何工具的权限。 - kunaguvarun
在这种情况下,您将必须使用roadmr提供的解决方案,在Windows上使用 copy /b - Paddy Landau

如果你在Ubuntu机器上安装了zip,你应该也会有zipsplit。这个工具可以将一个大的zip文件分割成多个小的独立的zip文件。它不依赖于任何特定版本的WinZip或Rar,因为它生成的文件都是普通的Zip文件。
需要注意的是,zipsplit仍然使用CP/M和MS-DOS 8.3文件名的规则,所以如果你在biglongfilename.zip上使用它,你会得到biglon_1.zipbiglon_2.zipbiglon_3.zip等文件。

我会使用7Zip。它适用于Ubuntu和Windows(下载链接在这里)。无论是在哪个操作系统上,都可以使用图形用户界面(GUI),但你也可以轻松地使用命令行界面(CLI)。在GUI中有一个文本框,你可以在其中输入每个分割的zip文件的大小。对于不在下拉菜单中的大小,你可以使用K(千字节)、M(兆字节)或G(千兆字节)。
7Zip分卷:

7Zip Split Volumes

通过CLI,您可以使用-v开关来确定卷大小。
为了重新组装文件,请解压缩第一个文件(即*.zip.001)。1