快捷使用:
compact /c /s /exe:lzx
MS命令介绍:compact | Microsoft Learn
相关帖子:
Windows平台LLVM可执行文件占用过大压缩方案_编译生成的llvm 文件过大-CSDN博客
windows命令(随记)_--compact=lzx-CSDN博客
命令介绍
可知,compact命令是微软提供,用来压缩磁盘上文件的一个命令,能大幅度降低磁盘空间占用。 相关参数如下:
参数 | 说明 |
---|---|
/c | 压缩指定的目录或文件。 除非指定了 /EXE 参数,否则将标记目录,以便压缩之后添加的任何文件。 |
/u | 解压缩指定的目录或文件。 将会对目录进行标记,使得之后添加的任何文件都不会被压缩。 如果指定了 /EXE 参数,则只解压缩已压缩为可执行文件的文件;如果不指定 /EXE 参数,则只解压缩 NTFS 压缩文件。 |
/s[:<dir>] | 对指定目录和所有子目录中的文件执行所选操作。 默认情况下,当前目录用作 <dir> 值。 |
/a | 显示隐藏文件或系统文件。 默认情况下,不包括这些文件。 |
/i | 继续执行指定的操作,忽略错误。 默认情况下,此命令在遇到错误时停止。 |
/f | 强制压缩或解压缩指定的目录或文件。 默认跳过已压缩的文件。 /f 参数用于文件在操作因系统崩溃而中断时被部分压缩的情况。 若要强制压缩整个文件,请使用 /c 和 /f 参数并指定部分压缩的文件。 |
/q | 仅报告最重要的信息。 |
/EXE | 使用针对经常读取但未修改的可执行文件优化的压缩。 支持的算法包括:
|
/CompactOs | 设置或查询系统的压缩状态。 支持的选项包括:
|
/windir | 在查询脱机操作系统时与 /CompactOs:query 参数一起使用。 指定安装 Windows 的目录。 |
<filename> | 指定模式、文件或目录。 可以使用多个文件名、* 和 ? 通配符。 |
/? | 在命令提示符下显示帮助。 |
命令使用
但是,既然是压缩,不可避免地对导致执行效率或者读写变慢,所以建议用在不常变动、不常读写的目录,主要是可执行文件存放的目录,因为可执行文件本就是放到内存中执行的,且可执行文件压缩效果最好。
- 压缩当前路径(最常用):
compact /c /s /exe:lzx
- 压缩指定文件:
compact /c /s /exe:lzx D:/work/ss.exe
- 解压当前路径:
compact /u /exe
使用效果
本文以编译器二进制Bin为例。
压缩前后:
可以看到,占用空间少了一半以上。
压缩前后:
压缩前后: