Al *_*ger 18 windows compression ntfs
看起来,Windows 以尽可能低的压缩率压缩 NTFS 压缩文件夹。虽然这可能有利于提高速度和降低 CPU 负载,但对于很少访问的文件(备份文件夹),有可能提高压缩率会更明智。是否可以调整一些参数来实现这一点?
phu*_*clv 16
通常这是不可能的,如and31415's answer 所示。
不过微软在 Windows 10 中添加了一些新的 NTFS 压缩选项和算法,所以现在有一种方法可以改变压缩率:
COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [/EXE[:algorithm]]
[/CompactOs[:option] [/WinDir:dir]] [filename [...]]
...
/EXE Use compression optimized for executable files which are read
frequently and not modified. Supported algorithms are:
XPRESS4K (fastest) (default)
XPRESS8K
XPRESS16K
LZX (most compact)
Run Code Online (Sandbox Code Playgroud)
新算法适用于新的Compact OS 功能(如您在/CompactOs上面的选项中所见)。这个想法是以最高的比率压缩只读、备份和不常访问的系统文件。恢复分区被删除,然后压缩文件将用于执行(如果它已经是最新版本)和恢复目的
LZX 算法在归档方面非常有效。尽管选项名称和描述都是关于“可执行文件”的,但该选项可以应用于任何文件
E:\test>compact /a
Listing E:\test\
New files added to this directory will not be compressed.
1050909 : 1050909 = 1.0 to 1 sometext.txt
...
E:\test>compact /c /exe:lzx sometext.txt
Compressing files in E:\test\
sometext.txt 1050909 : 176128 = 6.0 to 1 [OK]
1 files within 1 directories were compressed.
1,050,909 total bytes of data are stored in 176,128 bytes.
The compression ratio is 6.0 to 1.
Run Code Online (Sandbox Code Playgroud)
然而,与旧算法不同的是,它们不支持即时编辑,因此写回文件会对其进行解压缩。
E:\test>echo x >> sometext.txt
E:\test>compact /a
Listing E:\test\
New files added to this directory will not be compressed.
1050913 : 1050913 = 1.0 to 1 sometext.txt
Run Code Online (Sandbox Code Playgroud)
一个重要的注意事项是,您不能将文件夹设置为使用这些新算法自动标记要压缩的新文件,因为如compact(强调我的)的帮助部分所述
/C Compresses the specified files. Directories will be marked
so that files added afterward will be compressed ***unless /EXE
is specified***.
/U Uncompresses the specified files. Directories will be marked
so that files added afterward will not be compressed. If
/EXE is specified, only files compressed as executables will
be uncompressed; if this is omitted, only NTFS compressed
files will be uncompressed.
Run Code Online (Sandbox Code Playgroud)
因此,如果您想将它们用于备份文件,您可能必须在备份后或一段时间后定期运行脚本以手动压缩
不幸的是,这是 Windows 10 中的新功能,因此不能在旧版本中使用。但是NTFS-3g 确实支持它,因此您从 Linux 访问它不会有问题。如果您不使用 Windows 10,则可以运行 Linux live USB 或 Windows 10 PE 来打开这些文件
and*_*415 14
不,目前不可能。
通过向API函数传递控制代码和压缩状态来压缩和解压缩文件和文件夹1。压缩状态可以是以下之一:FSCTL_SET_COMPRESSIONDeviceIoControl
COMPRESSION_FORMAT_NONE = 0
COMPRESSION_FORMAT_DEFAULT = 1
COMPRESSION_FORMAT_LZNT1 = 2
Run Code Online (Sandbox Code Playgroud)
任何非零值都意味着目标项目将被压缩。来自官方文档:
LZNT1 压缩算法是唯一实现的压缩算法。因此,LZNT1 压缩算法被用作
DEFAULT压缩方法。
LZNT1 算法专为速度而设计,无法设置自定义压缩级别。
1文件夹实际上并未压缩:它们的压缩属性仅为新文件和子文件夹提供默认压缩状态。
NTFS 文件系统卷支持基于单个文件的文件压缩。NTFS 文件系统使用的文件压缩算法是 Lempel-Ziv 压缩。这是一种无损压缩算法,即压缩和解压文件时不会丢失任何数据,而JPEG等有损压缩算法每次进行数据压缩和解压时都会丢失一些数据。
在 NTFS 文件系统上,压缩是透明执行的。这意味着无需更改现有应用程序即可使用它。
如果压缩大于 30 GB 的文件,则压缩可能不会成功。
来源:文件压缩和解压
NTFS 中的压缩算法旨在支持高达 4 KB 的簇大小。当 NTFS 卷上的簇大小大于 4 KB 时,没有任何 NTFS 压缩功能可用。
来源:文件和文件夹压缩
| 归档时间: |
|
| 查看次数: |
9274 次 |
| 最近记录: |