Programming Field

Expand (ファイル展開ユーティリティー) - DOS/コマンドプロンプト コマンド一覧

[MS-DOS 5.0以降/Windows XP?以降] 特定の形式で圧縮されたファイルを展開(解凍)します。

※ Expandプログラムで展開できるファイルはLZ77形式(拡張子が「_」(アンダースコア)で終わっており、ファイル内容の先頭が「SZDD」で始まるもの)、またはcabファイル形式(Windows XP付属版以降?またはWindows OPK/AIK付属版以降)に限られます。LZ77形式で圧縮するには古いMS-DOSに付属するcompress.exeか互換プログラム(MsCompressなど)を使用する必要があります。

構文

expand[.exe] [-R] <source> <destination>
expand[.exe] -R <source> [<destination>]
expand[.exe] -I <source> [<destination>]
expand[.exe] -D <cab-file> [-F:<file>]
expand[.exe] <cab-file> -F:<file> <destination>

オプション一覧

[-R] <source> <destination>

<source> で指定された圧縮ファイルを <destination> に展開します。<source> にはスペース区切りで複数ファイル(ワイルドカードも可)を指定することができます(スペースで区切られたリストのうち最後が展開先として扱われます)。なお、<source> が単一である場合は <destination> はファイル名を指定することもできます(そのファイルに展開されます)が、複数指定されている場合は <destination> はディレクトリである必要があります。

なお、-R オプションを指定せず、拡張子が「_」で終わるファイル(LZ77形式)を <source> に指定し、<destination> にディレクトリ名を指定した場合、展開したファイル名を <source> のファイル名を元に「_」部分を復元したファイル名にするかどうかはExpandプログラムのバージョンに依ります(未確認)。確実に復元する場合は「-R」オプションを指定するようにしてください。

[cabファイル対応版] <source> に単一のcabファイルを指定した場合は展開が行われず、-F オプションの利用を促すメッセージが表示されます。ただし <source> に複数のcabファイルを指定している場合は <destination> に指定したディレクトリにすべてのファイルの展開が行われます。

-R <source> [<destination>]

<source> で指定された圧縮ファイルを展開します。-R を指定している場合 <destination> にはディレクトリのみ指定可能ですが、それ以外については、<source><destination> の指定方法は1番目の指定方法と同一です。

-R オプションを用いて拡張子が「_」で終わるファイル(LZ77形式)を展開する場合、<destination> にファイル名部分が省略されている(<destination> がディレクトリであるか指定されていない)と展開したファイル名が <source> のファイル名を元に「_」部分を復元したファイル名になります。「_」部分に入る文字は圧縮元ファイルに含まれる情報によって決定されます(情報が含まれていない場合は単に「_」文字が削除されるだけとなります)。また、<destination> が省略されている場合の出力先は圧縮元ファイルと同じディレクトリになります。

※ 「_」部分のファイル名(拡張子)情報は、ファイル圧縮時にオプションで指定する必要があります(Compressプログラムの「-R」オプション)。なお、この指定機能は互換プログラムのMsCompressには実装されていません(2015年8月現在)。また、拡張子は末尾の文字のみ復元されます。

-I <source> [<destination>] [Windows Vista?以降] 原則として -R オプション指定時と同様ですが、圧縮元ファイルのディレクトリ構造を無視します(ディレクトリを作成せずにファイルをすべて同じディレクトリに展開します)。
-D <cab-file> [-F:<file-list>] [Windows XP?以降] <cab-file> に含まれるファイルの一覧を表示して終了します(展開しません)。<cab-file> には複数のcabファイル、およびLZ77形式ファイル(拡張子が「_」で終わるファイル)を指定することができます(ワイルドカード可)。「-F:<file>」オプションを指定すると、<file> に指定したファイル(ワイルドカード可)に一致するもののみを出力します。
<cab-file> -F:<file-list> <destination>

[Windows XP?以降] <cab-file> に含まれるファイルを展開します。<cab-file> には複数のcabファイル、およびLZ77形式ファイル(拡張子が「_」で終わるファイル)を指定することができます(ワイルドカード可)。この形式においては -F オプションは必須であり、また <destination> に必ずディレクトリを指定する必要があります。

なお、このオプションでLZ77形式のファイルを展開しても拡張子末尾の「_」の変換は行われません。

※ -F オプションがない形式は1番目の形式と同一ですが、上記の通り単一のcabファイルを指定する場合は -F オプションが必要になります。

[MS-DOS版] -R を指定せずに <source><destination> を省略すると、その内容を求めるプロンプトが表示されます。

解説

Expandプログラムは欠落したファイルを取り出すなど、主にWindowsセットアップの圧縮ファイルから特定のファイルを抽出する場合に用います。MS-DOS版ではLZ77形式のみをサポートしていますが、Windows XP以降?で提供されているExpandでは加えてcabファイルもサポートしています(LZ77形式のファイルも展開できます)。

なお、圧縮ファイルを作成するプログラムは(古いMS-DOSのCompress.exeを除き)提供されていませんが、一般的な圧縮プログラムを用いて作成したcabファイルはExpandで使用(展開)できます。

サンプル1

expand -R D:\SETUP\APP.EX_ C:\PROGRAM

(C:\PROGRAM がディレクトリである場合)圧縮ファイル「APP.EX_」が C:\PROGRAM 以下に展開されます。「APP.EX_」が「拡張子の末尾が E である」という情報を持っていた場合は「C:\PROGRAM\APP.EXE」として展開されます。

サンプル2

expand R:\DATA1.CAB R:\DATA2.CAB -F:*.txt D:\Files

[Windows XP?以降] (D:\Files がディレクトリである場合)圧縮ファイル「DATA1.CAB」と「DATA2.CAB」に含まれる拡張子が「txt」のファイルすべてを D:\Files 以下に展開します。