下面我将主要介绍功能更强大的 PowerShell 命令,并简要提及传统的 cmd 命令。

核心概念:压缩格式
Windows 原生支持的压缩格式主要有两种:
- ZIP (.zip):最通用、兼容性最好的格式,现代 Windows 10/11 系统内置了对 ZIP 的完整支持,无需第三方软件。
- CAB (.cab):一种较旧的微软专有格式,主要用于 Windows 组件的安装包。
在 PowerShell 中,我们主要使用 .zip 格式。
使用 PowerShell (推荐)
PowerShell 提供了非常强大和灵活的压缩模块 Microsoft.PowerShell.Archive。
基本命令:压缩文件/文件夹
核心命令: Compress-Archive

语法:
Compress-Archive -Path <要压缩的路径> -DestinationPath <输出的ZIP文件路径> [-CompressionLevel <Optimal|Fastest|NoCompression>]
参数说明:
-Path:指定要压缩的一个或多个文件/文件夹的路径,可以使用通配符 。-DestinationPath:指定生成的压缩文件的完整路径和文件名(C:\temp\mybackup.zip)。-CompressionLevel:(可选) 设置压缩级别。Optimal(默认): 平衡压缩速度和压缩率。Fastest: 压缩速度最快,但压缩率较低。NoCompression: 不压缩,仅打包。
示例
示例 1:压缩单个文件夹
假设你要将 D:\MyDocuments 文件夹压缩成 D:\Backups\Docs.zip。
Compress-Archive -Path "D:\MyDocuments" -DestinationPath "D:\Backups\Docs.zip"
示例 2:压缩多个文件和文件夹
假设你要将 D:\report.docx 和 D:\Photos\2025 文件夹一起压缩。

Compress-Archive -Path "D:\report.docx", "D:\Photos\2025" -DestinationPath "D:\Backups\MixedContent.zip"
示例 3:使用通配符压缩特定类型的文件
假设你要压缩 D:\Projects 文件夹下所有的 .log 文件。
Compress-Archive -Path "D:\Projects\*.log" -DestinationPath "D:\Backups\LogsArchive.zip"
示例 4:指定压缩级别为最快
Compress-Archive -Path "D:\LargeVideoFolder" -DestinationPath "D:\Backups\FastVideo.zip" -CompressionLevel Fastest
高级用法:追加内容到现有 ZIP 文件
默认情况下,Compress-Archive 会覆盖目标文件,如果你想向一个已存在的 ZIP 文件中添加新内容,可以使用 -Update 参数。
语法:
Compress-Archive -Path <新要压缩的路径> -DestinationPath <已存在的ZIP文件路径> -Update
示例:
假设 D:\Backups\Docs.zip 已经存在,现在你又有了一些新的文档需要添加进去。
Compress-Archive -Path "D:\MyDocuments\NewReports" -DestinationPath "D:\Backups\Docs.zip" -Update
解压命令
核心命令: Expand-Archive
语法:
Expand-Archive -Path <要解压的ZIP文件路径> -DestinationPath <解压到的目标文件夹路径> [-Force]
参数说明:
-Path:指定要解压的 ZIP 文件路径。-DestinationPath:指定解压内容存放的目标文件夹,如果该文件夹不存在,会自动创建。-Force:(可选) 强制覆盖目标文件夹中已存在的同名文件。
示例:
将 D:\Backups\Docs.zip 解压到 C:\UnzippedDocs 文件夹。
Expand-Archive -Path "D:\Backups\Docs.zip" -DestinationPath "C:\UnzippedDocs"
使用传统命令提示符 (CMD)
CMD 的压缩功能相对有限,主要依赖第三方工具(如 7-Zip)或使用一些系统自带但不太方便的命令(如 makecab),对于日常使用,不推荐,但为了完整性,这里简单介绍。
使用 makecab (创建 CAB 文件)
makecab 是 Windows 自带的,用于创建 CAB 压缩包的命令。
语法:
makecab <源文件/文件夹> <输出的CAB文件路径>
示例:
压缩 C:\myfolder 到 C:\output.cab。
makecab C:\myfolder C:\output.cab
缺点:
- 只能创建
.cab格式,通用性差。 - 功能单一,无法追加内容,无法设置压缩级别。
使用 tar (仅 Windows 10/11 1809+ 新版)
新版 Windows 10/11 内置了 tar 命令,但它主要用于打包和解包(创建 .tar 文件),不直接支持压缩,通常需要配合其他工具(如 gzip)来创建 .tar.gz 文件。
示例: 打包文件夹(不压缩):
tar -cvf archive.tar C:\myfolder
解包:
tar -xvf archive.tar
注意: 这里的 -c 是 create,-x 是 extract,-v 是 verbose,-f 是 file。
如何打开 PowerShell/CMD 进行操作
-
打开 PowerShell:
- 在开始菜单搜索
PowerShell,然后选择 "Windows PowerShell" 或 "终端" (Terminal)。 - 在任意文件夹的地址栏输入
powershell然后回车,即可直接在该目录下打开 PowerShell。 - 在文件夹空白处按住
Shift键,右键点击,选择 “在此处打开 PowerShell 窗口”。
- 在开始菜单搜索
-
打开命令提示符:
- 在开始菜单搜索
cmd或命令提示符。 - 同样,在文件夹地址栏输入
cmd回车也可以。
- 在开始菜单搜索
总结与对比
| 特性 | PowerShell (Compress-Archive) |
命令提示符 (makecab) |
|---|---|---|
| 易用性 | 高,语法清晰,参数直观。 | 低,功能单一,不常用。 |
| 格式支持 | ZIP (推荐) | CAB (不推荐) |
| 功能 | 强大,支持多文件、通配符、追加内容、设置压缩级别。 | 极其有限,仅能创建 CAB。 |
| 推荐场景 | 日常使用、脚本编写、自动化任务。 | 遗留系统或特定微软内部工具链。 |
对于所有 Windows 用户的压缩需求,强烈推荐使用 PowerShell 的 Compress-Archive 和 Expand-Archive 命令,它们功能强大、灵活且与现代系统集成得非常好。
