使用 compact 命令 (命令行工具)
compact 是一个内置在 Windows 中的命令行工具,主要用于压缩和解压缩 NTFS 卷上的文件。

基本语法
compact [options] <filename_or_directory>
常用选项
/C: 压缩指定的文件或目录,这是最常用的选项。/U: 解压缩指定的文件或目录。/S: 在指定目录及其所有子目录中执行操作。/I: 即使发生错误也继续执行操作。/F: 强制操作,即使文件已经处于压缩或未压缩状态(根据/C或/U)。/Q: 只报告摘要信息,不显示每个文件的详细信息。
使用示例
示例 1:压缩单个文件
假设你要压缩 D:\Documents\report.docx 文件。
compact /c D:\Documents\report.docx
示例 2:压缩一个目录及其所有子目录中的所有文件
假设你要压缩 D:\MyData 整个文件夹。

compact /c /s D:\MyData
示例 3:解压缩一个目录及其所有子目录
假设你要解压缩 D:\MyData 文件夹。
compact /u /s D:\MyData
示例 4:查看当前目录的压缩状态
不带任何参数运行 compact,可以查看当前目录下文件的压缩状态。

compact
输出会类似这样,显示文件名、大小、压缩后大小和压缩率:
Listing D:\MyData\
New files add to this directory will not be compressed.
...
2025/10/27 10:00 12345678 big_file.zip : C, 45%
2025/10/27 10:01 123456 small_file.txt : U
C: Compressed (已压缩)U: Uncompressed (未压缩)
使用文件资源管理器 (图形界面)
这是最简单、最直观的方法,适合普通用户日常使用。
压缩单个文件或文件夹
-
在文件资源管理器中找到你想要压缩的文件或文件夹。
-
右键点击它。
-
在弹出的菜单中选择 “发送到” (Send to)。
-
然后选择 “压缩 (zipped) 文件夹” (Compressed (zipped) folder)。
-
系统会立即创建一个新的
.zip压缩文件,默认名称与原文件/文件夹相同。
压缩多个文件或文件夹
- 按住
Ctrl键,依次点击你想要压缩的多个文件或文件夹。 - 右键点击选中的任意一个项目。
- 选择 “发送到” -> “压缩 (zipped) 文件夹”。
解压缩 .zip 文件
- 找到你想要解压的
.zip文件。 - 右键点击它。
- 选择 “全部提取...” (Extract All...)。
- 在弹出的向导中,选择解压的目标位置,然后点击“提取”。
使用 PowerShell (更强大的脚本工具)
PowerShell 提供了比 cmd 更现代、更强大的命令来处理压缩文件,它使用 .NET 的 System.IO.Compression 命名空间。
压缩文件或文件夹
使用 Compress-Archive 命令。
示例 1:压缩单个文件
Compress-Archive -Path "C:\Users\YourUser\Documents\report.docx" -DestinationPath "C:\Backup\report.zip"
示例 2:压缩整个文件夹
Compress-Archive -Path "C:\Users\YourUser\Documents\*" -DestinationPath "C:\Backup\docs.zip"
- 通配符表示文件夹内的所有内容。
示例 3:压缩多个文件/文件夹
Compress-Archive -Path "C:\file1.txt", "C:\folder2" -DestinationPath "C:\Backup\mixed.zip"
示例 4:追加内容到现有压缩包 (覆盖模式)
# -Force 会覆盖目标文件(如果已存在) Compress-Archive -Path "C:\new_file.txt" -DestinationPath "C:\Backup\docs.zip" -Update
解压缩文件
使用 Expand-Archive 命令。
Expand-Archive -Path "C:\Backup\docs.zip" -DestinationPath "C:\ExtractedDocs"
总结与对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
compact 命令 |
- 系统内置,无需安装 - 压缩在 NTFS 分区上,对系统透明,文件访问时自动解压 |
- 压缩率不高 - 功能单一,只能创建 .zip 格式 |
命令行爱好者、需要批量压缩 NTFS 分区文件、脚本自动化 |
| 文件资源管理器 | - 非常简单直观,无需记命令 - 操作速度快,一键完成 |
- 功能有限,无法进行复杂操作 | 绝大多数普通用户的日常使用 |
| PowerShell | - 功能强大,可高度定制化 - 支持复杂的文件操作和脚本流程 - 压缩率高,是 .NET 原生支持 |
- 需要学习 PowerShell 基础语法 | 系统管理员、高级用户、需要编写自动化脚本的场景 |
- 普通用户:直接用 文件资源管理器 右键压缩,最方便。
- 开发者/IT人员:用 PowerShell 进行自动化和批量处理,最灵活。
- 想了解底层或快速命令行操作:可以用
compact,但要了解它的局限性(压缩率不高)。
