windows系统中可用cmd的tar命令快速打包zip:win+r输入cmd,cd切换目录,执行tar -a -cf output.zip 文件或文件夹,-a参数必须显式指定以生成zip而非tar格式,生成文件兼容各平台。

你需要在不安装第三方软件的前提下,用系统自带命令快速把一堆文件整理成一个可传输的包,同时兼顾兼容性和操作效率。
Windows系统中用CMD的tar命令打包ZIP
Windows 10 1709 及以上版本已原生集成 tar 工具,它支持 ZIP 格式,无需 PowerShell 或额外环境,适合远程批量操作或写入批处理脚本。
第一步:打开命令提示符(Win+R → 输入 cmd → 回车)。
第二步:切换到目标文件所在目录,例如 cd /d D:\project。
第三步:执行打包命令 → tar -a -cf output.zip file1.txt folder1/。
注意:【-a 参数必须显式指定,否则默认生成 tar 格式而非 ZIP】;若漏掉 -a,生成的是不可被 Windows 资源管理器直接双击打开的 .tar 文件。
第四步:检查当前目录是否出现 output.zip —— 该文件可直接发给 Mac、Linux 或手机用户解压,无需任何额外软件。
Windows中用PowerShell的Compress-Archive压缩
这是最灵活的原生方法,支持通配符、压缩等级控制和绝对路径,特别适合定时归档或处理命名含空格/特殊字符的路径。
方法一:基础压缩
在文件夹空白处按住 Shift + 右键 → 选择“在此处打开 PowerShell 窗口” → 输入:Compress-Archive -Path "*.log" -DestinationPath logs.zip。
方法二:启用最高压缩率
追加 -CompressionLevel Optimal 参数,例如:Compress-Archive -Path "D:\data\*" -DestinationPath "D:\backup\full.zip" -CompressionLevel Optimal。
这一步会明显变慢,但对文本类日志、配置文件等能节省 20%~35% 体积;若压缩的是已编码的 JPG、MP4,则几乎无差别。
方法三:强制覆盖已有 ZIP
直接运行会报错“文件已存在”,需加 -Force 参数:Compress-Archive -Path data/ -DestinationPath archive.zip -Force。
Linux下用tar命令打包并压缩
tar 是 Linux 压缩打包的事实标准,【-f 参数必须放在所有选项的最后,且紧接文件名,顺序错则报错】。
① 打包并用 gzip 压缩(生成 .tar.gz,通用性最强):
tar -czvf archive.tar.gz /var/www/html/ config.conf
② 打包并用 bzip2 压缩(生成 .tar.bz2,压缩率更高,适合大文本归档):
tar -cjvf logs.tar.bz2 /var/log/*.log
③ 解压到指定目录(不加 -C 会解到当前目录,容易污染工作区):
tar -xzvf backup.tar.gz -C /tmp/restore/
④ 查看压缩包内容而不解压(确认包里有没有漏文件或路径错误):
tar -tzvf archive.tar.gz | head -n 20
这一步能立刻发现是否误打了相对路径或遗漏了子目录——比如你本想打 /home/user/docs,却只写了 docs/,那解压后结构就全乱了。











