MS-DOS EXPAND.EXE Functionality (80751)

The information in this article applies to:
    Microsoft MS-DOS operating system 5.0
    Microsoft MS-DOS operating system 5.0a
    Microsoft MS-DOS operating system 6.0
    Microsoft MS-DOS operating system 6.2
    Microsoft MS-DOS operating system 6.21
    Microsoft MS-DOS operating system 6.22

This article was previously published under Q80751


Most of the Microsoft MS-DOS operating system files are compressed on disk. The MS-DOS Setup program decompresses these files when you install MS-DOS.

The MS-DOS EXPAND command is available to decompress and copy files individually. EXPAND is described in the "Microsoft MS-DOS User's Guide and Reference" for versions 5.x and in online help for MS-DOS versions 6.0 and later.

The following increased functionality was added to the EXPAND command beginning with MS-DOS version 5.0a:
    Displays two status messages
    Allows multiple source file arguments
    Has interactive user input
    Wildcard capability for the last character of an extension


When you decompress a file in MS-DOS 5.0a or later, EXPAND prints two status messages: one that details the full path of the source and target files, and one that details how many files were expanded.

In MS-DOS 5.0, if you enter the command EXPAND with no parameters, it displays the same help information as if you had entered the command EXPAND /?. However, in versions 5.0a and later, EXPAND is interactive. It prompts for the name of the compressed file and the name it should have in expanded form. For example:
   Type the location and name of the
   compressed file you want to expand.
   (Example: A:\EGA.SY_)

   Compressed file: a:\himem.sy_

   Type the location and/or name you
   want to give the expanded file.
   (Example: C:\DOS\EGA.SYS)

   Expanded file: c:\dos\himem.sys

      1 file expanded
Although the MS-DOS asterisk (*) and question mark (?) wildcards are not supported by the EXPAND command, a limited but useful form of wildcards has been introduced. If the specified source file does not exist, EXPAND attempts to find a file with the same name and extension, except that it changes the last character of the extension to an underscore (_). For example, if the file A:\EXAMPLE.BIN does not exist, the command
   expand a:\example.bi_ c:\example.bin
has the same effect as:
   expand a:\example.bin c:\example.bin


   expand a:\example.bin c:\
If the target file is not specified, the EXPAND command in versions 5.0a and later uses the same name as the source.

Multiple source parameters are allowed. If multiple source parameters are used, the target must specify a single drive or directory. You can still use the following commands to re-expand the entire Shell for a VGA system in MS-DOS 5.0:
   a:\>expand dosshell.co_         c:\dos\
   a:\>expand dosshell.ex_         c:\dos\dosshell.exe
   a:\>expand dosswap.ex_          c:\dos\dosswap.exe
   a:\>expand vga.vi_              c:\dos\dosshell.vid
   a:\>expand vga.gr_              c:\dos\dosshell.grb
   a:\>expand ega.in_              c:\dos\dosshell.ini
However, you can also use the following sequence with 5.0a and later as follows:

    At the A: prompt, enter the following command on a single line:

    expand dosshell.exe dosswap.exe vga.vid vga.grb
    ega.ini c:\dos

    The following is displayed:
          VGA.VI_  ->  C:\DOS\VGA.VID
          VGA.GR_  ->  C:\DOS\VGA.GRB
          EGA.IN_  ->  C:\DOS\EGA.INI
                  6 files expanded

    At the A: prompt, enter the following command

    copy c:\dos\?ga.* c:\dos\dosshell.*

    and the following is displayed:
             3 file(s) copied

Modification Type: Major Last Reviewed: 5/12/2003
Keywords: KB80751