概要
大きなファイルを扱うとき、次のような問題に遭遇することがあります。
- メールや共有システムの ファイルサイズ制限
- 閉域環境でツールをインストールできない
- 7zip や zip ツールが使用できない
このような場合でも、Windowsには 標準コマンドだけでファイルを分割する方法があります。
それが makecab と expand コマンドです。
これらは Windows に標準搭載されているコマンドで、追加ツールなしで ファイルの分割と結合ができます。
makecabとは
makecab は CAB形式の圧縮ファイルを作成する Windows標準コマンドです。
Windowsのインストールパッケージやドライバ配布でも利用されている仕組みで、次の特徴があります。
- Windows標準コマンド
- ファイル圧縮が可能
- 分割CABの作成が可能
この 分割CAB機能 を利用することで、ファイルを複数に分割できます。
Windowsでファイルを分割する方法
例えば largefile.iso を分割する場合は次のコマンドを実行します。
makecab largefile.iso
実行すると次のようなファイルが作成されます。
largefile.is_
これは CAB形式で圧縮されたファイルです。
分割サイズを指定する
ファイルサイズを指定して分割することも可能です。
makecab /D MaxDiskSize=5000000 largefile.iso
この場合、次のように複数のファイルが生成されます。
largefile.is_
largefile.i1_
largefile.i2_
このように 大きなファイルを複数のCABファイルに分割できます。
expandコマンドでファイルを結合する
分割されたファイルは expandコマンドで元に戻すことができます。
expand largefile.is_ largefile.iso
分割ファイルが同じディレクトリに存在すれば、自動的に結合されます。
この方法が役立つ場面
閉域環境でのファイル搬送
インフラ環境では次のような制約があることがあります。
- インターネット接続なし
- ソフトウェア追加禁止
- USB持ち込み制限
そのような環境でも Windows標準コマンドだけでファイル分割が可能です。
ファイルサイズ制限の回避
次のような制限にも対応できます。
- メール添付サイズ制限
- ファイル共有システムの容量制限
- 古いNASのファイルサイズ制限
注意点
CAB形式で圧縮される
makecab は単純なファイル分割ではなく CAB圧縮を行います。
そのため
- 圧縮できるファイルはサイズが小さくなる
- 既に圧縮されているファイル(zip / isoなど)はあまり小さくならない
という特徴があります。
拡張子が変わる
作成されるファイルは次のような形式になります。
file.ex_
これは CAB圧縮でよく使われる形式です。
まとめ
Windowsではツールを追加しなくても、標準コマンドだけでファイル分割が可能です。
使用するコマンドは次の2つです。
| ファイル分割 | makecab |
| ファイル結合 | expand |
特に次のような環境では覚えておくと便利です。
- 閉域ネットワーク
- ツール導入禁止環境
- 一時的なファイル分割
Windows管理やインフラ運用をしていると、「ツールが使えない環境でどうするか」という場面は意外と多くあります。
そんなときに役立つ Windows標準コマンドです。
コマンドまとめ
ファイル分割
makecab largefile.iso
サイズ指定分割
makecab /D MaxDiskSize=5000000 largefile.iso
ファイル結合
expand largefile.is_ largefile.iso