[記事公開日]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 |
出力場所を指定 |
🔗 関連記事
-
🧩 expandコマンドでCABファイルを展開する方法
-
⚙️ compactコマンドでフォルダを圧縮する方法
-
💻 replaceコマンドでファイルを上書き更新する方法
-
🧾 copyコマンドでファイルをコピーする方法
➡️ 同カテゴリ記事リスト
- ⚙️ fsutilコマンドの使い方|ファイルシステムを詳細管理する方法
- 🧹 cleanmgrコマンドの使い方|ディスククリーンアップを自動で実行する方法
- 🔗 mountvolコマンドの使い方|マウントポイントの作成・削除・確認方法
- 📦 makecabコマンドの使い方|ファイルをCAB形式に圧縮・配布する方法
- 📦 expandコマンドの使い方|圧縮ファイルを展開して復元する方法
- 📦 compactコマンドの使い方|ファイルの圧縮とディスク容量節約の基本
- 📊 diskperfコマンドの使い方|ディスクパフォーマンス設定とモニタリング
- 💿 formatコマンドの使い方|ドライブのフォーマットをコマンドラインで操作する方法
- 💽 vssadminコマンドの使い方|ボリュームシャドウコピーの管理とトラブル対処法
- 💽 diskpartコマンドの使い方|ディスク管理をコマンドラインで操作する方法
さいごに
makecab コマンドは、システム管理や配布ファイルの作成において非常に便利なツールです。
Windows環境に標準搭載されているため、追加ソフトを導入することなく高圧縮アーカイブを生成できます。
expand と組み合わせることで、バックアップから復旧まで一連の管理を自動化することも可能です。
