前两天晚上准备关电脑,一位平时不太联系的老同学发来消息:人事要求把入职材料打包成 zip 发过去,问文件夹怎么压缩成 zip。他平时办公主要用手机和网页,第一反应是去找某个 App,完全没想到答案就在文件夹的右键菜单里。
这道坎比想象中常见。安卓和 iOS 的文件管理里没有「右键」这个动作,从手机转到电脑办公的人,往往不知道 Windows 把一大半功能收在了右键菜单里。系统自带的能力一直在那儿,只是没人指过位置。
这篇只讲 Windows 自带的功能,不装任何额外软件,三步做完;后面单独说一种高频报错——弹出「因为文件或文件夹名太长」导致压不出来时怎么处理。
一个文件夹里几十个文档、表格、图片,直接发出去有两个麻烦:一个一个拖很费事,整个文件夹发过去在传输过程中还容易丢文件。压成一个 zip,就是把它们装进同一个盒子,附件只有一个,接收方解压一次就拿到全部内容。
压缩过程还会把文件之间冗余的存储空间挤掉一些,包通常比原文件夹小一点,传起来更快。
这里补一句背景:从 Windows 7 开始,系统就自带 zip 支持,入口就在右键菜单里,不在开始菜单,也不在控制面板。很多人从来没点开过。

点下去系统立刻开始处理。小文件夹一两秒就好,文件多的会慢一些,鼠标指针旁边会转圈,等它跑完。处理结束后,原文件夹旁边会多出一个同名文件,后缀是 .zip,图标是一个带拉链的文件夹。
双击这个 zip 能直接看里面的内容——资源管理器打开压缩包不需要先解压,确认文件一个没少,再发出去。
压缩期间不要去改名、移动或删除原文件夹。正在写入的任务会被打断,包可能不完整。
记住这三步就行:右键、发送到、压缩(zipped)文件夹。
这是我那位同学中途撞上的第二个问题。他压缩一个嵌套很深的项目目录,弹出来的提示原文是:
无法完成压缩 (zipped) 文件夹向导,因为文件或文件夹名太长。
原因是 Windows 的传统路径有一个长度上限,最长 260 个字符。文件夹一层套一层,每一层的名字都会累加到这条路径里,像这样:C:\Users\xxx\Desktop\项目\资料\某某客户\需求文档\修改版\最终版\补充材料\附件。
单看每个文件夹名都不长,串起来就超了。自带的压缩向导碰到超长路径会直接停下,不给你商量的余地。
思路只有两条:要么把路径变短,要么换一个对长路径更宽松的工具来压。
最省事的是先挪位置。在某个盘根目录建一个临时目录,例如 C:\zipwork,把要打包的文件夹复制进去,此时整体路径只剩两三层,再右键压缩不会再报错。
前提是本机磁盘有足够空间放一份副本,压完把临时目录删掉即可。这是拿一份磁盘副本来换路径长度。
不想复制文件的话,用系统自带的 subst 把一个深层目录挂成虚拟盘,从盘符开始算路径,长度直接砍掉一大截:
subst Z: C:\Users\xxx\Desktop\项目\资料\某某客户\需求文档\修改版执行后资源管理器里会多出一个 Z: 盘,进去找到目标文件夹右键压缩即可。映射在重启后消失,下次要用得重新执行一遍。这条我在这台机器上试通了,但没有在接近 260 字符的极限上穷举过,路径深度特别夸张时不一定管用。
自带 PowerShell 就有压缩命令,不用装东西:
Compress-Archive -Path "C:\Users\xxx\Desktop\项目\资料" -DestinationPath "C:\Users\xxx\Desktop\资料.zip"它走的是 .NET 的压缩实现,在较新的 Windows 10 / 11 上对长路径比资源管理器的向导宽松一些。不同系统版本表现不完全一致,以本机实测为准。用这个命令必须写全源路径和目标路径,-DestinationPath 不写会压在当前所在目录。
系统本身还有一个全局开关,打开之后部分程序能突破 260 字符:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled -Value 1 -PropertyType DWord -Force要在管理员权限的 PowerShell 里执行,重启后生效。
这个开关只对声明了支持长路径的程序有效。机器上装的老工具、老版本软件不一定认这个设置,仍然按 260 字符判断。别把它当成万能钥匙,优先考虑的仍然是缩短路径本身。

情况 | 建议做法 |
|---|---|
文件夹几百 MB,路径也不深 | 右键三步,够用 |
路径接近或超过 260 字符 | 先复制到浅路径,或者用 |
要在脚本里批量打包 | 用 |
机器上跑着不少老程序 | 开了 |
如果哪天发现右键的「发送到」里没有「压缩(zipped)文件夹」这一项,通常是系统组件被动过,直接用上面的 Compress-Archive 命令代替,压出来的结果一样。
很多我们觉得天经地义的操作,换一个使用背景就是一道坎。把这些步骤和报错写清楚,能磨掉一点信息差,就够本了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。