[登録されているタグ]

[記事公開日]2025/11/02

📦 makecabコマンドの使い方|ファイルをCAB形式に圧縮・配布する方法

はじめに

Windowsでは、複数のファイルを1つのアーカイブにまとめる「CAB(キャビネット)形式」が長く採用されています。
インストーラーやシステム更新ファイルの内部でも使用されており、古い環境から現在のWindowsまで互換性があります。
このCABファイルを作成できるのが makecabコマンド です。

この記事では、makecab コマンドの基本構文から、実際の圧縮手順、複数ファイルをまとめる方法、オプション設定、実務的な活用例までをわかりやすく解説します。


🛠 makecabコマンドとは?

項目 内容
役割 指定したファイルをCAB(キャビネット)形式に圧縮する
用途 バックアップ、配布用パッケージ、ドライバ圧縮などに利用
特徴 シンプルな構文で1ファイルから複数ファイルまで圧縮可能

makecab は、Windows標準で搭載されている圧縮ユーティリティで、主に .dll.inf などのシステムファイルをCAB形式にまとめる際に使われます。
インストーラー開発やシステム展開ツールでも利用されており、軽量かつ高圧縮が可能です。


📌 基本的な使い方

構文

makecab [ソースファイル] [圧縮後ファイル名]

主な使用例

目的 コマンド例 説明
単一ファイルを圧縮 makecab example.txt example.cab テキストファイルをCAB形式で圧縮
複数ファイルをまとめて圧縮 makecab /f list.ddf DDFファイルを指定して複数ファイルをCABにまとめる
出力先フォルダを指定 makecab file.dll C:\Backup\file.cab 圧縮ファイルを別フォルダに作成

🔍 DDFファイルを使った複数ファイル圧縮

複数ファイルを1つのCABにまとめたい場合は、DDFファイル(Directive Definition File) を使用します。

例:list.ddf の内容

;.DDFファイル例
.OPTION EXPLICIT
.Set CabinetNameTemplate=myarchive.cab
.Set DiskDirectoryTemplate=C:\Output
.Set CompressionType=MSZIP
file1.txt
file2.txt
file3.txt

このDDFファイルを使って次のように実行します。

makecab /f list.ddf

C:\Output フォルダに myarchive.cab が生成されます。


📚 応用的な使い方

1️⃣ 圧縮形式を指定する

.Set CompressionType=MSZIP

MSZIP(標準)以外にも、NONE(無圧縮)を選択可能。高速展開が必要な場合に便利です。

2️⃣ 自動スクリプト化

@echo off
echo CABファイルを作成中...
makecab /f mylist.ddf
echo 圧縮が完了しました。
pause

業務用配布やバックアップ処理において、バッチで自動化する際に有効です。

3️⃣ 圧縮前後のサイズ比較

makecab bigdata.log bigdata.cab

圧縮後のファイルサイズを確認することで、バックアップ容量を大幅に削減できます。


⚙️ 主なオプション一覧

オプション 説明
/f <DDFファイル> DDFファイルを指定して複数ファイルをCABにまとめる
/v 詳細情報を表示(進行状況など)
/d variable=value DDF内の設定を一時的に上書き
/? ヘルプを表示

⚠️ 注意点

注意点 説明
圧縮対象はファイルのみ フォルダ構造は保持されません。必要に応じてZIPなどを利用
展開には expand コマンドが必要 CABファイルを開く際は expand で解凍可能
長いファイル名に注意 古いWindows環境では8.3形式に変換されることがあります
管理者権限が必要な場合あり システムフォルダを対象にする際は注意

🧠 補足
makecab はWindowsのセットアップツールにも採用されており、expand コマンドと対をなす存在です。expand が「展開」なら、makecab は「圧縮」にあたります。


📊 まとめ表

操作内容 コマンド例 説明
単一ファイルをCAB化 makecab data.txt data.cab ファイルをCAB形式で圧縮
複数ファイルをCAB化 makecab /f files.ddf 複数ファイルを一括圧縮
圧縮形式を指定 .Set CompressionType=MSZIP 圧縮方法を指定
出力フォルダを指定 .Set DiskDirectoryTemplate=C:\Out 出力場所を指定

🔗 関連記事


➡️ 同カテゴリ記事リスト


さいごに

makecab コマンドは、システム管理や配布ファイルの作成において非常に便利なツールです。
Windows環境に標準搭載されているため、追加ソフトを導入することなく高圧縮アーカイブを生成できます。
expand と組み合わせることで、バックアップから復旧まで一連の管理を自動化することも可能です。

すべてを開く | すべてを閉じる

ページ上部へ戻る