Команда COMPACT управляет встроенным сжатием файловой системы NTFS: позволяет сжимать и распаковывать файлы, папки и подкаталоги прямо из командной строки. Сжатые файлы остаются прозрачно доступными для всех приложений — Windows разжимает данные «на лету» при чтении.
- Синтаксис команды COMPACT
- Ключи и параметры
- Примеры использования
- Просмотр состояния сжатия каталога
- Сжатие одного файла
- Распаковка файла
- Рекурсивное сжатие всей папки
- Тихое рекурсивное сжатие с игнорированием ошибок
- Сжатие исполняемых файлов алгоритмом LZX
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Сжатие NTFS безопасно для данных?
- Насколько эффективно сжатие NTFS?
- Как проверить, сжат ли файл?
- COMPACT работает на USB-флешке?
- Можно ли отменить сжатие всей папки?
- Нужен ли перезапуск Windows после применения COMPACT?
Синтаксис команды COMPACT
COMPACT [/C | /U] [/S[:каталог]] [/A] [/I] [/F] [/Q] [/EXE[:алгоритм]] [файл [...]]
/C— сжать указанные файлы или папку/U— распаковать (убрать сжатие)файл— путь к файлу, папке или маска (например*.log)
Без ключей /C и /U COMPACT отображает состояние сжатия текущего каталога.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/C | Включить сжатие для файлов/папки | COMPACT /C C:\Logs\app.log |
/U | Отключить сжатие (распаковать) | COMPACT /U C:\Logs\app.log |
/S[:каталог] | Рекурсивно применить к указанному каталогу и всем подкаталогам | COMPACT /C /S:C:\Backup |
/A | Обработать также скрытые и системные файлы | COMPACT /C /A C:\Windows\Logs |
/I | Продолжать выполнение даже при ошибках | COMPACT /C /I /S:C:\Data |
/F | Принудительно сжать файлы, даже если они уже сжаты | COMPACT /C /F C:\file.txt |
/Q | Тихий режим — выводить только итоговую статистику | COMPACT /C /Q /S:C:\Logs |
/EXE[:алгоритм] | Использовать сжатие для исполняемых файлов (алгоритмы: XPRESS4K, XPRESS8K, XPRESS16K, LZX) | COMPACT /C /EXE:LZX C:\App\app.exe |
/? | Вывод справки | COMPACT /? |
Примеры использования
Просмотр состояния сжатия каталога
Перед сжатием полезно проверить, какие файлы уже сжаты, а какие нет.
COMPACT C:\Backup\*
COMPACT выведет список файлов с пометками: «C» — сжатый, «U» — несжатый, и итоговую статистику экономии места.
Сжатие одного файла
Быстрый способ освободить место для крупного редко используемого файла.
COMPACT /C "C:\Archive\database_backup.bak"
Файл будет сжат средствами NTFS. Приложения продолжат читать его прозрачно — никакой ручной распаковки не требуется.
Распаковка файла
Если сжатие мешает производительности (например, часто читаемый файл базы данных), отключите его.
COMPACT /U "C:\DB\production.mdf"
Сжатие будет снято; NTFS больше не будет компрессировать этот файл.
Рекурсивное сжатие всей папки
Сжимает все файлы в папке и всех её подкаталогах. Удобно для папок с архивами, логами или резервными копиями.
COMPACT /C /S:C:\OldProjects
Команда пройдёт по всем подкаталогам C:\OldProjects и установит флаг сжатия. Новые файлы, созданные в этой папке, тоже будут сжиматься автоматически.
Тихое рекурсивное сжатие с игнорированием ошибок
Для использования в скриптах автоматического обслуживания: ошибки не прерывают выполнение, вывод минимален.
COMPACT /C /S:C:\Logs /Q /I
По завершении будет выведена только итоговая статистика: сколько файлов обработано и сколько места сэкономлено.
Сжатие исполняемых файлов алгоритмом LZX
Начиная с Windows 10, COMPACT поддерживает алгоритмы Compact OS для сжатия системных и программных файлов с лучшей степенью сжатия.
COMPACT /C /EXE:LZX "C:\Program Files\MyApp\myapp.exe"
LZX обеспечивает более высокую степень сжатия, чем стандартный алгоритм NTFS, но медленнее при декомпрессии. Подходит для редко запускаемых приложений.
Частые ошибки и решения
| Ошибка / симптом | Причина | Решение |
|---|---|---|
| «Отказано в доступе» | Нет прав на изменение файла или папки | Запустите CMD с правами администратора: ПКМ на cmd.exe → «Запуск от имени администратора» |
| Команда выполнилась, но место на диске не освободилось | Файловая система не NTFS (FAT32, exFAT) или диск — SSD с включённым сжатием на уровне прошивки | COMPACT работает только с NTFS. Проверьте ФС командой fsutil fsinfo volumeinfo C: |
| Сжатие исполняемых файлов вызывает замедление запуска | Алгоритм LZX медленнее декомпрессируется на слабых CPU | Используйте XPRESS4K вместо LZX для часто запускаемых приложений |
Ключ /EXE не распознаётся | Версия Windows старше Windows 10 (ключ /EXE добавлен в Windows 10) | На Windows 7/8 используйте только стандартные ключи /C и /U |
| После сжатия файл невозможно открыть | Сжатие прервалось (отключение питания, ошибка диска) | Запустите chkdsk C: /f для исправления ошибок файловой системы |
Когда применять, а когда нет
Команда COMPACT оптимальна для папок с редко используемыми данными: архивы, резервные копии, старые логи, инсталляционные пакеты. На жёстких дисках (HDD) сжатие NTFS нередко ускоряет чтение за счёт уменьшения объёма данных при медленных I/O. Требует прав администратора и работает только с томами NTFS.
Не применяйте COMPACT к файлам баз данных с активными транзакциями, к файлам подкачки и гибернации, к папкам с часто изменяемыми данными на SSD — прирост места будет минимальным при значительном росте нагрузки на CPU. В PowerShell прямого аналога нет: для управления сжатием NTFS из PowerShell используйте WMI-класс Win32_Directory или вызывайте compact.exe через Start-Process.
FAQ
Сжатие NTFS безопасно для данных?
Да, встроенное сжатие NTFS полностью прозрачно: Windows автоматически распаковывает данные при чтении. Данные не теряются, если файловая система исправна. Перед массовым сжатием системных папок рекомендуется создать точку восстановления.
Насколько эффективно сжатие NTFS?
Для текстовых файлов, логов и документов — 30–70% экономии. Для уже сжатых форматов (ZIP, JPEG, MP4, exe с UPX) — менее 5%, сжатие смысла не имеет. COMPACT сам сообщит коэффициент сжатия по итогам операции.
Как проверить, сжат ли файл?
Выполните COMPACT имя_файла без ключей — команда покажет статус «C» (compressed) или «U» (uncompressed). Либо посмотрите свойства файла в Проводнике: вкладка «Общие» → «Размер на диске» будет меньше «Размера».
COMPACT работает на USB-флешке?
Нет. Большинство USB-накопителей отформатированы в FAT32 или exFAT. COMPACT требует NTFS. Отформатируйте накопитель в NTFS командой format X: /fs:ntfs, тогда сжатие будет доступно.
Можно ли отменить сжатие всей папки?
Да: COMPACT /U /S:C:\папка рекурсивно снимет сжатие со всех файлов и подкаталогов. Для больших папок операция может занять несколько минут.
Нужен ли перезапуск Windows после применения COMPACT?
Нет. Изменения вступают в силу немедленно. Исключение — системные файлы Windows, которые заблокированы в момент выполнения команды; для них может потребоваться перезагрузка с загрузочного носителя.


