
前两天帮朋友传一个将近 30GB 的素材包对方在国外微信传不动网盘下载又慢邮箱附件就更别想了。折腾一圈之后最后用的方案其实很“笨”把整个目录压成几个分卷压缩文件一个接一个传过去对方收到后全部放在同一个文件夹里双击第一个卷就能还原出完整的目录。整个过程没花一分钱也没用什么复杂工具。今天就把“创建分卷压缩文件”这件事从原理到实操完整聊一遍包括什么情况下用、该选哪种格式、分卷切多大、各个平台怎么做、以及我这些年踩过的坑。1. 传输场景里的那些“卡脖子”时刻1.1 网盘、邮件、U盘的限制到底卡在哪先说一个常被忽略的事实大多数传输工具限制的不是总大小而是单个文件的大小。邮件附件不同服务商限制在 20MB~50MB 不等很多企业邮箱直接卡在 25MB。哪怕你用压缩软件把 2GB 的项目资料压到 800MB一样发不出去。聊天软件微信、QQ、钉钉这类工具对文件大小也有上限而且普遍限制了单文件大小。大视频、模型包、安装包经常被卡住。网盘上传单个文件通常有最大体积限制现在很多网盘把单文件限制在 10GB 或 20GB但对更大的文件就不太友好了。有些网盘上传超过一定体积还会触发转码、预览失败等额外问题。U盘和移动硬盘FAT32 格式的老 U 盘单个文件最大只能 4GB超过直接报错。现实很骨感很多车载系统、电视、打印机只认 FAT32你拿着一个 6GB 的文件插上去就是复制失败。这些场景有个共同点你只有一个文件但它超过了目标工具的单文件上限。普通压缩能把 10GB 压到 8GB但解决不了“单个文件超过 2GB 不能传”的问题。分卷压缩的本质是把一个物理文件拆成多个指定大小的“卷”每个卷独立存在都符合传输工具的体积限制。等收件人把全部卷放到一起就能还原出原始内容。1.2 普通压缩解决不了分卷压缩解决的到底是什么有人会问我们不也可以压缩完之后用文件切割工具把压缩包切成几块吗可以但没必要而且自找麻烦。文件切割工具比如 File Splitter是“物理切割”切完的块不是压缩软件认识的格式收件人得先合并成完整压缩包然后才能解压操作多一步。更麻烦的是如果你用的是网盘或聊天软件中途发漏了一块合并的时候就会失败。分卷压缩不一样。它是在压缩层完成的切割压缩软件把数据流按你指定的大小分段生成文件同时记录每卷的索引信息。收件人不需要手动合并解压软件会自动读取第一卷然后顺着索引找到后续所有卷直接还原。另外要泼一盆冷水分卷压缩并不会让总体积变小多少。如果你的素材是视频、高清图片、已压缩的 PDF 或安装包这些格式本身已经高度压缩再压一遍几乎是白费力气甚至会出现压缩后体积反而变大一点的情况。分卷压缩的核心价值是绕过传输链路的体积限制而不是让文件更小。真正值得指望压缩率的是日志、代码、文档、数据库备份这类文本密集型内容压一半甚至压掉七八成都有可能。所以在开始之前你要先问自己一个问题是“文件太大传不动”还是“文件内容有压缩空间”前者用分卷压缩后者用常规高压缩率压缩。这俩经常被混为一谈动手之前想清楚能省不少时间。2. 选ZIP、RAR还是7z分卷之前先别急着动手2.1 RAR分卷成熟ZIP分卷兼容性却容易“翻车”创建分卷之前最关键的决策是选格式。这不是看谁压缩率高而是看收件人那边能不能顺利解出来。我用时间顺序把所有格式都试过一遍结论如下维度ZIP 分卷RAR 分卷7z 分卷分卷命名.zip / .z01 / .z02 或 .zip.001.part1.rar / .part2.rar.7z.001 / .7z.002系统原生支持Windows/macOS 自带解压不完全支持分卷需要 WinRAR 或第三方工具需要 7-Zip 或第三方工具跨平台兼容性较好但容易踩坑最好几乎所有工具都认识依赖对方装了 7-Zip/Keka 等压缩率一般较高最高修复能力基本靠重传可加恢复记录基本靠重传ZIP 分卷最大的问题是“看起来谁都支持实际谁都不完全支持”。Windows 资源管理器能解压普通 ZIP但遇到分卷 ZIP经常只识别主文件不识别 .z01、.z02。macOS 自带归档工具对分卷支持也很弱。结果就是你生成得挺顺利对方双击发现解不开还得再装软件。RAR 分卷是我最常用的。WinRAR 的命名规则很直观文件名.part1.rar、文件名.part2.rar一目了然收件人看到就不会误解这是不是完整文件的一部分。而且 RAR 分卷在第三方软件里支持度非常好Windows、macOS、Linux 下都有成熟的解压方案。虽然 WinRAR 本身是商业软件但国内环境里它几乎是装机必备对方大概率能直接打开。7z 分卷适合给比较懂技术的收件人或者自用归档。压缩率确实高但分卷解压对工具依赖更强手机上尤其容易翻车。很多手机解压 App 对 7z 分卷支持不完整这也意味着发出去之前你得确认对方设备。2.2 分卷大小怎么定才不折腾格式定完之后下一个问题就是每一卷切多大我的原则很简单不要凭感觉选按目标平台的上限倒推并预留 5%~15% 的余量。邮箱附件如果限制 25MB分卷就设 20MB给邮件正文和编码留出冗余。聊天软件单文件限制 2GB分卷就设 1.8GB避免对方收到时认为快满了结果传完发现超限。老 U 盘是 FAT32 格式分卷必须小于 4GB我习惯设 3.9GB 或 3.5GB免得跟 4GB 的边界较劲。网盘单文件限制 20GB你传 19GB 一卷下载时一旦断点续传失效就得重新来不如切成 10GB 减少重传成本。还有一个经验优先使用固定大小分卷而不是按数量自动分卷。有些压缩软件提供“分成 N 卷”的选项看起来省事但切出来的每卷大小不均匀。传输时如果你要按卷逐个上传、逐个确认不均匀的体积会干扰你对进度的判断。固定大小则很清楚3.9GB × 10 卷传到第 7 卷就是传了 70%。另外如果网络条件很差尤其跨国传输我的经验是把单卷控制在 1GB~2GB。理由很简单单卷越小某卷传失败后重传的成本就越低。30GB 的包切成 1GB 一卷坏掉一卷重传只需要几分钟切成 15GB 一卷坏了就要重传半小时起步。3. 电脑上的三种实操Bandizip、WinRAR、7-Zip3.1 Bandizip最省心的图形化方案如果你用的是 Windows又不想记命令行Bandizip 是我比较推荐的日常工具。操作路径右键选中文件或文件夹 → “添加到压缩文件” → 在对话框里找到“分卷”或“分割”选项 → 输入每卷大小 → 确认。分卷大小可以直接输入数值支持MB、GB这类单位比如输入3.9gb、1000mb、500m软件会自动换算。Bandizip 默认生成 ZIP 分卷也可以切换到 7z 格式。这里要特别注意一个细节Bandizip 默认创建的分卷命名可能是“文件名.7z.001、文件名.7z.002”这种风格也有的版本是“文件名.z01、文件名.z02”放在主文件旁边。这两种命名都不是问题只要后续解压时别把它们当成独立文件单独解压就行。我用 Bandizip 通常是为了快速处理“临时要传一批文件给同事”的场景图形界面点几下就能完成不需要解释一堆命令。3.2 WinRAR经典老牌分卷兼容性最稳WinRAR 是我个人给外部客户传文件时的首选因为它有个别人没有的优点可以添加恢复记录。操作步骤选中文件或文件夹右键 → “添加到压缩文件”。在“常规”页卡左下角找到“切分为分卷大小”输入框。可以直接输入1g、500m、100m也可以从下拉框选预设值。点击“高级”或“常规”里的相应设置勾选“添加恢复记录”恢复记录比例可以设 3%~5%。确定后开始压缩。生成的命名是标准的分卷格式素材.part1.rar、素材.part2.rar、素材.part3.rar……恢复记录的价值在于传输过程中某个卷出现损坏WinRAR 可以尝试用恢复记录自动修复不一定非要重新传。对十几卷的大包来说这个功能能省很多沟通成本。坏一卷就重发一卷总比重发整个包强。WinRAR 也支持命令行操作适合脚本批量处理rar a -v1000m -rr3% archive.rar /path/to/data这里的-v1000m表示每卷 1000MB-rr3%表示增加 3% 恢复冗余。命令行方式适合在服务器上跑挂个后台任务等它跑完就行。3.3 7-Zip压缩率党、命令行党的好选择7-Zip 是免费开源工具压缩率在主流格式里通常是最高的。它的图形界面也支持分卷不过我更习惯用命令行因为更好控制还能结合脚本批量处理。图形界面选中文件 → 右键 → “添加到压缩包” → 在“切分为分卷字节”输入框里填大小 → 确认。命令行7z a -t7z -v1000m archive.7z /path/to/data这个命令的含义a添加文件到压缩包。-t7z指定压缩格式为 7z。-v1000m每卷大小 1000MB。archive.7z压缩包名称。/path/to/data要压缩的文件或目录。7z 分卷的命名通常是archive.7z.001、archive.7z.002、archive.7z.003。解压时从第一个卷开始7-Zip 会自动识别后续卷。命令行解压7z x archive.7z.0017-Zip 的缺点前面说过了压缩率高但对方得装 7-Zip 或者支持 7z 的工具。如果你把分卷发给一个只会用手机自带解压的人结局大概率是对方打不开来找你。所以我的策略是自己存档案、传文件给懂技术的人用 7z传文件给不熟的人用 RAR 分卷。4. 换到macOS和Linux怎么看分卷、解分卷4.1 macOSKeka 和 The Unarchiver 是主力macOS 自带“归档实用工具”对普通 ZIP 和 tar 支持不错但分卷支持非常弱很多时候连打开都不认。所以我给 Mac 用户传文件或收到分卷时基本都靠两个免费工具Keka能创建分卷压缩文件支持 ZIP、7z 等格式也能解压 RAR、7z。The Unarchiver解压能力很强RAR、7z、zip 分卷基本都能处理。Keka 创建分卷的路径把文件拖进 Keka 窗口 → 在偏好设置里设置分卷大小 → 选择格式 → 开始压缩。Keka 生成的分卷命名也是.7z.001、.7z.002这类风格和 7-Zip 兼容良好。说一个容易被忽略的点在 macOS 的 Finder 里直接双击分卷的.001文件有很大概率会弹出一个不明所以的提示或者干脆没反应。正确做法是右键 → 打开方式 → 选择 Keka 或 The Unarchiver而不是依赖系统默认程序。4.2 Linux一条条命令搞定压缩、分卷和还原Linux 下有两个路线路线一用 7-Zip 做分卷压缩只要装了 p7zip-full就可以直接用前面写到过的 7z 命令。Debian/Ubuntu 安装sudo apt install p7zip-full然后分卷压缩7z a -t7z -v2g archive.7z /data/bigfiles/这里-v2g表示每卷 2GBg单位在 Linux 下也识别。解压一样用7z x archive.7z.001。路线二tar 压缩后 split 切割这是 Linux 生态的老办法虽然略绕但非常通用。思路是先用 tar 把数据压缩成一个流。再用 split 按大小切成多个块。还原时用 cat 合并再交给 tar 解压。创建分卷tar czf - /data/bigfiles/ | split -b 1G - backup.tar.gz.part.生成backup.tar.gz.part.aa、backup.tar.gz.part.ab、backup.tar.gz.part.ac……还原cat backup.tar.gz.part.* backup.tar.gz tar xzf backup.tar.gz也可以不先合并直接用管道处理cat backup.tar.gz.part.* | tar xzf -这个路线的优点是不依赖对方装了任何特殊解压工具。只要你能把一个个.part.xx块传过去对方用cat一合并就是一个标准 tar.gz。缺点也很明显合并时需要所有分块齐全而且传输过程中的顺序不能弄错。适合机器对机器、脚本对脚本的场景不适合让你爸妈在微信上操作。4.3 三个平台互相传的兼容性这几个平台的互相兼容问题我用实际经验做个总结Windows 生成 RAR 分卷 → macOS 解压没问题The Unarchiver 或 Keka 都能解。Windows 生成 7z 分卷 → macOS 解压没问题Keka 能解。macOS 生成 ZIP 分卷 → Windows 解压有时会遇到问题Windows 自带的解压不支持 z01 这类分卷需要装 7-Zip。Linux 用 split 分块 → Windows 接收对方如果没有命令行操作能力体验极差。除非对方也是技术人员否则不建议这条路。结论还是那句给不特定的人传文件优先 RAR 分卷给自己和懂技术的人传7z 分卷效率更高。5. 等到传给对方的那一刻命名、传输、合并解压全复盘5.1 命名规则与传输顺序很多人创建分卷压缩没问题但传到一半就开始乱主要问题出在命名和顺序上。几个硬性规则不要改文件名。part1.rar就是 part1改成《文件1》很容易让解压工具认不出。分卷文件内部都有索引信息但工具通常也依赖文件名顺序来识别。所有分卷放在同一个目录。缺一个目录解压工具就找不到后续分卷直接报错。按顺序传输。虽然解压工具会自动寻找分卷但如果你在网盘里乱序上传收件人下载时也容易遗漏中间某卷。我自己的习惯是把分卷按顺序编号然后逐个上传到一个文件夹。网盘里保持清晰的文件列表传输完成后发一份清单给收件人写明“一共有 10 个分卷请全部下载后再解压”。5.2 对方解压或合并的三种姿势分卷文件到了收件人手里有几种解压方式不同场景选不同的方式第一种直接双击第一卷WinRAR 用户双击part1.rar软件会自动识别同一目录下的后续分卷并弹出解压界面。这是最省事的方式也是大多数人最习惯的方式。7z 分卷也一样双击.001文件7-Zip 会自动读取后续卷。第二种Windows 命令行合并后解压如果你收到的分卷是类似.7z.001、.7z.002这种命名可以通过命令行合并copy /b file.7z.001file.7z.002file.7z.003 file.7z 7z x file.7z或者更稳妥地用通配符copy /b file.7z.0* file.7z需要注意copy /b是二进制合并必须是“二进制模式”不能少了/b参数。少了这个参数Windows 会把文件当文本处理最终合并结果损坏解压必失败。第三种Linux/Unix 下用 cat 合并前面已经提到过cat file.7z.001 file.7z.002 file.7z.003 file.7z 7z x file.7z如果分卷非常多也可以用cat file.7z.0* file.7z心里要清楚分开看每个卷都是不完整的无意义数据合并后才是一个完整压缩包。5.3 校验文件不能省一次传输涉及 10 个分卷最怕的是对方解压到 70%弹出一个“CRC 校验失败”。这时候你根本不知道是哪一个卷坏了只能一个一个检查。所以我在创建分卷比较大的包之前会额外生成一个校验清单。简单做法是生成一个.md5或.sfv文件md5sum archive.7z.001 archive.7z.002 archive.7z.003 checksum.md5对方拿到后执行md5sum -c checksum.md5Windows 下可以用 WinRAR 自带的“测试”功能或者下载 MD5 校验工具。一般来说对方只需要把全部卷放到同一个文件夹用 WinRAR 的“工具 → 测试压缩文件”测一遍就能知道哪个卷有问题。这里有个经验送给所有人心不要迷信“分包下载很稳定”。任何传输工具都可能出错哪怕只是 0.01% 的错误率发生在 30GB 的大包上也是实打实的损坏。校验清单不占多少存储空间但能挽回你大量的返工时间。6. 我踩过的坑以及现在的习惯做法6.1 中文文件名变成乱码这是我最早踩过的坑。用旧版 WinRAR 压缩带中文文件名的目录生成分卷后发给用 macOS 的客户对方解压出来全是乱码部分文件甚至直接无法读取。原因很简单旧版压缩工具对中文文件名的编码处理不统一Windows 用的是 GBKmacOS 用的是 UTF-8。解决办法有三个压缩时尽量把文件名改成英文或拼音最省心。用支持 Unicode 文件名的新版 WinRAR 或 7-Zip并在压缩设置里勾选“使用 Unicode 文件名”。如果必须保留中文文件名发给对方之前自己先测一遍确认解压正常再发。这条经验很实用因为大文件传输往往跨平台、跨系统文件里面一堆中文文件名是家常便饭多花 30 秒检查一下能避免对方“解压失败的一百种原因”。6.2 某一个卷坏了又没有恢复记录有段时间我给客户传两个 4GB 的分卷对方下载后第一反应是“随便点开一个就能解”。结果解压失败反馈到我这我第一反应是让他全部下载完之后再解压但他已经传了好几个回执说下载了三遍还是失败。后来查出来是他下载的第二个分卷从网盘同步工具上下载时被截断了文件大小不对。因为当时没有添加恢复记录也没有做校验最后只能从头重传。教训特别深如果分卷包超过 5GB且收件人不是特别靠谱务必满足以下至少一条用 WinRAR 添加强恢复记录。同时生成校验文件并明确告知对方如何校验。一个卷传完确认对方下载完成并校验后再传下一个虽然慢但稳。6.3 加密分卷忘记密码基本无解给分卷加密码是很常见的安全需求但一定要知道RAR5 和 7z 的强加密忘记密码等于永久丢失没有任何恢复手段。有次我给财务传财报备份自己设了一个很复杂的密码传输完成后因为各种原因隔了一个月才需要解压。结果我发现自己记错了一个字符试了几十次都打不开。最后实在没办法只能从源服务器重新打包加密再传。现在我的习惯是给分卷加密时密码一定同步放到密码管理器里并且在便签里记录“哪批文件用的哪个密码”。同时如果你是对外发送密码最好在压缩包之外通过另一个渠道单独发送比如压缩包走网盘、密码走短信或电话。不要把密码写进文件名、也不要把密码放在同一个网盘分享目录里那等于没加密。6.4 我现在的习惯做法被坑过几轮之后现在我的流程基本固定了给外部客户传大文件WinRAR 分卷大小按对方下载渠道上限的 85% 定勾选 3% 恢复记录压缩后生成校验文件。先传完发清单再发校验方式。给熟人传素材7z 分卷因为对方能用 7-Zip 或 Keka 解压压缩率更高传输体积更小。给不特定的人下载优先 RAR 分卷如果对方明显不擅长处理分卷我会直接切成多个独立 zip 包避免对方在“先合并再解压”这一步卡住。自用备份.tar.gzsplit或7z分卷遇到需要批量归档时配合脚本完全自动化。最后再分享一个小技巧创建分卷之前先用“测试压缩文件”功能把原始文件完整读一遍确认源文件本身没问题。虽然多花一点时间但能排除“源文件损坏导致分发后无法解压”这种最冤的情况。分卷压缩这件事本身不难难的是把每一步的坑提前堵上。按上面的流程走一遍你会发现大文件传输其实没那么吓人。