Раньше мы уже разбирали работу встроенной в Windows функции сжатия LZX, однако очень поверхностно и без особого внимания к тому, какие ею поддерживаются ключи и что вообще можно сжимать, а что нет. Если кто не в курсе, LZX – это алгоритм сжатия данных, обеспечивающий значительно более высокий уровень компрессии, чем сжатие NTFS. Степень сжатия LZX достигает 40-60%, однако у этого есть своя цена, которая в некоторых случаях может оказаться слишком дорогой.
Утилита compact и ее ключи
Для LZX-сжатия в Windows 10 и 11 используется консольная утилита compact, которая может принимать порядка десяти ключей, из которых -S и -EXE имеют свои собственные параметры.
Команда сжатия имеет следующий вид:
compact /ключ /ключ «путь к файлу или каталогу»
Ключей на самом деле может быть больше, чем два.
Все зависит от того, что вы собираетесь сжимать.
- /C – стандартный ключ сжатия, используется как для файлов, так для каталогов. Если сжимается папка, она получает особый маркер, указывающий на то, что добавляемые потом в папку файлы также должны сжиматься, если в команде не указан ключ -EXE.
- /U – выполняет обратную операцию, распаковывая сжатые файлы. Если в команде указан -EXE, распаковываются только исполняемые файлы.
- /EXE – используется для сжатия исполняемых файлов, которые не предполагается изменять. поддерживает алгоритмы XPRESS4K, XPRESS8K, XPRESS16K и LZX. Первый и самый быстрый используется по умолчанию, тогда как последний обеспечивает наиболее высокую степень сжатия. Указывается параметр после следующего за ключом двоеточия – compact /exe:lzx.
- /S – используется, когда нужно сжать папку со всем ее содержимым, включая вложенные каталоги.
- /A – сжимает файлы с атрибутами «скрытый» и «системный». Без использования этого ключа файлы данного типа будут проигнорированы.
- /I – ключ предписывает игнорировать ошибки, которые могли бы прервать процесс сжатия.
- /F – сжимает данные принудительно.
- /Q – отображает базовые сведения о процессе сжатия.
Что можно сжать алгоритмом LZX
Любые файлы и каталоги на пользовательском диске и с некоторой долей осторожности определенные файлы и папки системного раздела. В идеале это файлы, которые не предполагается изменять (доступные для чтения и запуска), так как после внесения любого изменения в обработанный файл его придется сжимать повторно.
Например, вы можете сжать каталог с ресурсами игры.
Из папок в главном системном каталоге Windows можно сжать Installer, assembly, Microsoft.NET, Fonts, Inf и infused apps.
Все остальное лучше не трогать и не в коем случае не сжимать файлы на служебных загрузочных разделах – в противном случае система не загрузится.
Минусы сжатия LZX
Помимо того что LZX не предназначен для компрессии изменяемых файлов, он довольно требователен к ресурсам CPU и памяти.
На мощных ПК с многоядерными процессорами процесс сжатия/декомпрессии не будет особо заметен, а вот на слабых бюджетных устройствах он может заметно снизить общую производительность.
Из прочих недостатков функции следует отметить также и то, что сжатые файлы никак не маркируются в Проводнике. А еще их нельзя будет открыть в старых версиях Windows, не поддерживающих LZX-сжатие.
И наконец, сжатые данные чувствительны к сбоям и ошибкам в файловой системе, из-за чего вероятность их успешного восстановления после сбоя значительно снижается.