The EXPAND command in Windows CMD is used to decompress one or more compressed files. The files can be cabinet (.cab) files or files compressed using any other compression algorithm that Microsoft recognizes. It is most effective in scenarios where you need to manually extract system files or update patches distributed in compressed formats.


The basic syntax for using the EXPAND command is as follows:

EXPAND [source] [destination] [options]
  • [source]: The file or directory location of the compressed files.
  • [destination]: The directory where the files will be expanded to.
  • [options]: Command-line options to modify the behavior of the command.

Detailed Syntax

EXPAND [-r] [-d] [-f:filespec] [source] [destination]
EXPAND -r [source] [destination]
EXPAND -d source.cab


  • -r: Recursively expands directories.
  • -d: Displays a list of files in the source location without expanding them.
  • -f:filespec: Specifies the types of files to expand. Wildcards, like asterisks (*), can be used to specify multiple files.


  1. Expanding a Single File: To expand a file named example.cab into the current directory:

    EXPAND example.cab .
  2. Expanding Specific Files: To expand only .txt files from data.cab into the D:\data folder:

    EXPAND -f:*.txt data.cab D:\data
  3. Listing Contents: To list the contents of a CAB file without expanding:

    EXPAND -d source.cab
  4. Recursive Expansion: If a directory contains multiple CAB files, you can recursively expand all CAB files into a specific directory:

    EXPAND -r *.cab D:\expanded

Common Issues

  • File Not Found: This error occurs if the path to the source or destination is incorrect. Verify that all file paths are correct.
  • Access Denied: Lack of permissions can prevent file expansion. Run CMD as an administrator or ensure adequate permissions on the directory.
  • Unsupported Format: If EXPAND cannot recognize the compression format, use another tool better suited for that type of file.


EXPAND can be integrated into batch scripts that automate the deployment of files. For instance, after using EXPAND to decompress files, you could use COPY or MOVE commands to position files appropriately. Here’s an example of a simple script that expands and moves files:

@echo off
EXPAND update.cab C:\temp\update
MOVE C:\temp\update\*.dll C:\Windows\System32\

This script decompresses a CAB file and then moves DLL files to the System32 directory.

  • COMPACT: Used to compress files or directories.
  • COPY: Copies one or more files to another location.
  • MOVE: Moves one or more files to another location.

For further reading and more detailed information, you can visit the Microsoft official documentation.