Windowsでファイルを分割・結合する方法|ツール不要で使えるmakecab / expandコマンド

Tips

概要

大きなファイルを扱うとき、次のような問題に遭遇することがあります。

  • メールや共有システムの ファイルサイズ制限
  • 閉域環境でツールをインストールできない
  • 7zip や zip ツールが使用できない

このような場合でも、Windowsには 標準コマンドだけでファイルを分割する方法があります。

それが makecab と expand コマンドです。

これらは Windows に標準搭載されているコマンドで、追加ツールなしで ファイルの分割と結合ができます。


makecabとは

makecabCAB形式の圧縮ファイルを作成する 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