EXPAND — распаковка CAB-файлов из командной строки Windows

EXPAND — встроенная CMD-команда для извлечения файлов из CAB-архивов. Незаменима при восстановлении системных файлов без сторонних архиваторов.

Команда EXPAND извлекает файлы из CAB-архивов (Cabinet) — сжатых контейнеров, которые Windows использует для хранения системных компонентов, драйверов и обновлений. Она работает в CMD без установки дополнительного ПО и особенно полезна при ручном восстановлении повреждённых системных файлов.

Синтаксис команды EXPAND

EXPAND [-r] [-d] [-i] [-f:файлы] источник [назначение]

Плейсхолдеры:

  • источник — путь к CAB-файлу или сжатому файлу (можно использовать маски).
  • назначение — путь к папке или файлу, куда будут помещены распакованные файлы. Если не указан, файл извлекается в текущий каталог.
  • -f:файлы — маска файлов внутри CAB для избирательного извлечения, например -f:*.inf или -f:* для всех.

Ключи и параметры

Ключ Описание Пример
-r Переименовывает извлечённые файлы — убирает сжатый суффикс (например, .ex_.exe) EXPAND -r file.ex_ C:\out
-d Только показывает список файлов внутри CAB, без извлечения EXPAND -d archive.cab
-i При извлечении игнорирует путь к каталогу, сохранённый внутри CAB (все файлы попадают в плоскую структуру) EXPAND -i -f:* arch.cab C:\flat
-f:маска Извлекает только файлы, совпадающие с маской EXPAND -f:*.dll arch.cab C:\out
источник Путь к CAB-файлу или файлу со сжатым суффиксом (.ex_, .dl_) C:\dist\update.cab
назначение Папка или полный путь к файлу для результата C:\Windows\System32

Примеры использования

Извлечь все файлы из CAB-архива

Базовый сценарий: достать всё содержимое архива в указанную папку.

EXPAND -f:* C:\Updates\update.cab C:\Extracted

Все файлы из update.cab появятся в папке C:\Extracted. Если папка не существует, команда вернёт ошибку — создайте её заранее.

Просмотр содержимого CAB без извлечения

Перед распаковкой удобно проверить, что именно находится внутри архива.

EXPAND -d C:\Updates\driver.cab

Команда выведет список файлов с их именами и размерами, не трогая файловую систему.

Восстановить один системный файл

Типовой сценарий при ручном восстановлении без sfc: достать конкретную DLL из установочного CAB.

EXPAND -f:shell32.dll C:\Windows\i386\shell32.ca_ C:\Windows\System32\shell32.dll

Файл будет извлечён и помещён точно по нужному пути с нужным именем.

Переименовать сжатые файлы при извлечении

Установочные CAB часто хранят файлы со сжатым расширением (.ex_, .dl_). Ключ -r автоматически восстанавливает оригинальные расширения.

EXPAND -r C:\source\notepad.ex_ C:\dest

Файл будет сохранён как notepad.exe, а не notepad.ex_.

Извлечь только DLL-файлы из крупного CAB

Если архив содержит сотни файлов, а нужны только библиотеки.

EXPAND -f:*.dll C:\Updates\component.cab C:\DLLs

В папку C:\DLLs попадут только файлы с расширением .dll.

Извлечь в плоскую структуру без вложенных папок

Некоторые CAB содержат внутреннюю иерархию каталогов. Ключ -i игнорирует её.

EXPAND -i -f:* C:\Updates\nested.cab C:\flat_output

Все файлы окажутся в одном каталоге C:\flat_output, независимо от вложенности в CAB.

Частые ошибки и решения

Ошибка / симптом Причина Решение
Каталог назначения не существует — команда завершается с ошибкой EXPAND не создаёт каталоги автоматически Сначала создайте папку: MKDIR C:\Extracted
Файл не найден при указании относительного пути Текущий рабочий каталог CMD не совпадает с расположением CAB Указывайте полные абсолютные пути к источнику и назначению
Ничего не извлекается, нет ошибки Маска -f: не совпадает ни с одним файлом в CAB Сначала проверьте содержимое через EXPAND -d архив.cab, уточните имена
Доступ запрещён при записи в System32 Недостаточно прав Запустите CMD от имени администратора
«Не является CAB-файлом» при попытке извлечь .ex_ Одиночные сжатые файлы — не CAB, синтаксис другой Для .ex_/.dl_ используйте EXPAND -r файл.ex_ путь_назначения без -f:

Когда применять, а когда нет

Команда EXPAND оптимальна для работы с системными CAB-архивами Windows — установочными файлами, пакетами обновлений и образами драйверов. Она встроена в систему и не требует ничего дополнительного. Команда не умеет работать с ZIP, RAR, 7z и другими форматами архивов — для них нужны сторонние инструменты. Запись в системные каталоги (System32, SysWOW64) требует прав администратора. Аналог в PowerShell — Expand-Archive, однако он работает только с ZIP-файлами, а не с CAB.

FAQ

Чем EXPAND отличается от EXTRACT (EXTRAC32)?

EXPAND — более современный инструмент, присутствующий во всех версиях Windows NT. EXTRACT/EXTRAC32 — устаревший инструмент из эпохи Windows 9x, в Windows 10/11 он недоступен. Для работы с CAB используйте EXPAND.

Можно ли извлечь отдельный файл из CAB по точному имени?

Да: EXPAND -f:имя_файла.dll C:\архив.cab C:\папка. Имя файла регистрозависимо, поэтому сначала проверьте точное написание через EXPAND -d.

Почему EXPAND не работает с ZIP-архивами?

Команда поддерживает только формат CAB (Cabinet) и одиночные сжатые файлы (.ex_, .dl_). Для ZIP в PowerShell используйте Expand-Archive -Path arch.zip -DestinationPath C:\out.

Нужны ли права администратора для EXPAND?

Для извлечения в пользовательские каталоги — нет. Для записи в системные папки (C:\Windows\System32 и т.п.) — обязательно запускайте CMD от имени администратора.

Как посмотреть список файлов в CAB без распаковки?

Используйте ключ -d: EXPAND -d C:\путь\архив.cab. Команда выведет имена и размеры всех файлов внутри архива.

EXPAND работает в PowerShell?

Да, вы можете вызвать expand.exe из PowerShell с теми же ключами. Нативный аналог в PowerShell (Expand-Archive) работает только с ZIP, поэтому для CAB по-прежнему нужен expand.exe.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.