Windows標準環境でファイル分割とファイル結合を実施する方法

スポンサーリンク
このブログではアフィリエイト広告を利用しています。

仕事で使用するようなWEBメールではファイル送信にサイズ上限があることが多いです。しかし、サイズ上限よりも大きいサイズのファイルを送りたいということも多々あります。

そういう場合は、ファイルを分割すれば問題ありません。7-Zip等のツールを使えば問題なく分割できます。

▼ツールを使用してファイル分割とファイル結合をする方法▼

ですが、仕事で使用するPC等、セキュリティの厳しい環境ではツールのインストールに制限がかかっている場合があります。

ツールが使えないのであれば、Windowsの標準環境でどうにかファイル分割する必要があります。

スポンサーリンク

Windows標準環境でファイル分割

Windowsの標準環境でそんな複雑そうなことができるのか?と思うかもしれませんが、「makecab」というコマンドを使用することでファイル分割を実施することができます。

その他にもテキストファイルであれば、PowerShellを用いて行数指定で分割することも可能です。

「makecab」コマンドでファイル分割

「makecab」コマンドはWindows標準環境についている圧縮ツールです。他の圧縮ツールで実行可能なファイル分割を同じように実施できます。

コマンドプロンプトやPowerShell上で以下のように入力し実行することで簡単な使用方法を確認することができます。

makecab

コマンドの使用方法には2種類あり、1つは圧縮元ファイルと圧縮先ファイルを指定して実行する方法で、もう1つは設定ファイルを作成して実行する方法です。

ファイル分割には設定ファイルを指定する方法で実行するのが簡単です。ただし、頻繁にファイル分割を実施する場合は、毎回設定ファイルを作成するのも手間です。その場合は、バッチファイルを作成してしまう方法もあります。

設定ファイルを使用したファイル分割方法

①設定ファイル(split.ddf)を作成する

設定ファイルの画像

分割するファイルに適した設定ファイルを作成します。以下を参考に設定ファイルをメモ帳等で作成してください。ごちゃごちゃしてよくわからないかもしれませんが、最低限赤色のマーカー部分は自分の環境に合わせて書き換えてください。

設定ファイル(split.ddf)

; ddf ファイル内では「;」でコメントになる
; 分割後の名前。* に連番が入る。* が入っていないとファイルが上書きされるため注意
.Set CabinetNameTemplate=[分割後ファイル名を指定]*.cab
; cabファイルを配置するフォルダ名 ※指定していない場合はカレントフォルダに配置される
.Set DiskDirectoryTemplate="[cabファイルを配置するフォルダ名]"
; 分割後の1ファイルのサイズ(byte単位) ※512の倍数である必要あり「102400は100Kbyte」
.Set MaxDiskSize=102400
; on にしないと分割されない
.Set Cabinet=on
; 圧縮する場合は「on」しない場合は「off」にする
.Set Compress=on
;CAB形式のインストールファイル名。不要であればNULに設定
.Set InfFileName=NUL
;MakeCabコマンドの実行結果のファイル名。不要であればNULに設定
.Set RptFileName=NUL
; 分割対象のファイル名。ここではSplitFile.txtを分割対象に指定。ファイルのパスはどこでも可。
"C:\Users\[ユーザ名]\Documents\SplitFile.txt"

※ 先頭が「;」で始まるコメント部分は書かなくても問題ありません。

記述例)

  • 分割ファイル名「splitfile*.txt」
  • 分割ファイル配置フォルダー「デスクトップ上のDemoフォルダー」
  • 分割サイズ「100KByte」
  • 分割「有り」
  • 圧縮「有り」
  • インストールファイル名「不要」
  • 実行結果「不要」
  • 分割対象ファイル「Demoフォルダー配下の「SplitFile.txt」」
.Set CabinetNameTemplate=splitfile*.cab
.Set DiskDirectoryTemplate="C:\Users\Demo\Desktop\Demo"
.Set MaxDiskSize=102400
.Set Cabinet=on
.Set Compress=on
.Set InfFileName=NUL
.Set RptFileName=NUL
"C:\Users\Demo\Desktop\Demo\SplitFile.txt"

フォルダーのパスは空白が含まれていることがあるので""(ダブルクォーテーション)で括っておいた方が良いと思います。

②コマンドプロンプトまたはPowerShellを開く

コマンドプロンプトまたはPowerShellを開き、設定ファイルを保存したフォルダーに移動します。

PowerShellを開いてフォルダーを移動した画像

③「makecab」コマンドを実行する

コマンドプロンプトまたはPowerShellで以下の様に実行します。

makecab /f split.ddf
mekecabコマンドを実行した画像

設定ファイルはフルパス指定でも構いません。

スポンサーリンク

バッチファイルを使用したファイル分割方法

何度もファイル分割することがあるのであれば、「makecab」コマンドを呼び出すバッチファイルを作成し、ドラッグ&ドロップするだけでファイルを分割するという事もできます。以下の記事で詳細に記載しているので参考にしてください。

▼バッチファイルでファイル分割を簡単に実施する▼

セキュリティの問題で、コマンドプロンプト・PowerShellが制限されて使うことのできない環境の場合でも、バッチファイル経由であれば使用できる設定になっていることもあるので試してみても良いかもしれません。

テキストファイルのファイル分割

ファイル分割対象がテキストファイルで、行数指定で分割したい場合はPowerShellで簡単に実行することができます。詳細は以下の記事をご覧ください。

▼Windowsでテキストファイルを行数指定で分割する▼

スポンサーリンク

Windows標準環境でファイル結合

分割後のファイルは圧縮ファイルのため、普段使用している解凍ツールで末尾に「1」がついたファイルを解凍することで結合されたファイルを展開することができます。

ただし、ツールによっては結合されずにそのファイルだけが解凍されることもあるようです。その場合は、エクスプローラーでも結合して展開することが可能です。

エクスプローラーで「cabファイル」を展開する

  1. 末尾に「1」がついたファイルを右クリックし表示されたメニューから[プログラムから開く]-[エクスプローラー]をクリックします。
    ファイル結合対象の右クリックメニューの画像
  2. 新しくエクスプローラーが開き、結合後のファイルが表示されるため、ファイルを右クリックして[展開]をクリックします。
    ファイル結合対象の展開の画像
  3. 「展開先の選択」画面が表示されるため、任意のフォルダーを選択して[展開]をクリックします。
    「展開先の選択」画面の画像
    または、結合後のファイルを任意のフォルダーへドラッグ&ドロップでも展開可能です。
    ファイル結合対象の展開からドラッグ&ドロップする画像
スポンサーリンク

Linux環境で「cabファイル」の展開

分割したcabファイルはLinuxで展開することもできます。詳細な方法は以下の記事をご覧ください。

▼Linuxでcabファイルを展開する方法▼

ただし、ファイル名が日本語だと、文字コードが異なるためうまく展開できません。Linux環境でファイル結合を実施する場合は、ファイル分割前後のファイル名を両方ともアルファベットで作成しておくことをおすすめします。

その他のファイル分割

本ブログで紹介しているファイル分割方法をまとめているので気になる方はご覧ください。

▼ファイル分割方法まとめ▼

コメント