このブログ内でWindowsの標準環境でファイル分割とファイル結合を実施する方法を紹介しています。
しかし、この方法では、毎回ファイルにあった設定ファイルを用意しなければいけませんでした。
今回は1度準備すれば何回でも利用できるバッチファイルを作成して、簡単にファイル分割を実施する方法を紹介します。
ファイル分割用のバッチファイルを準備する
分割後のファイルサイズが常に固定されている場合と、変更の可能性がある場合で2種類準備してみました。
分割後のファイルサイズが常に固定されている場合
メモ帳等のテキストエディターに以下の内容をコピーし、ファイル名は任意で問題ありませんが、拡張子は「.cmd」か「.bat」で保存してください。
@echo off setlocal cd /d %~p1 set ddf=split.ddf echo .Set CabinetNameTemplate=%~n1*.cab > %ddf% echo .Set DiskDirectoryTemplate=%~n1 >> %ddf% echo .Set MaxDiskSize=102400 >> %ddf% echo .Set Cabinet=on >> %ddf% echo .Set Compress=on >> %ddf% echo .Set InfFileName=NUL >> %ddf% echo .Set RptFileName=NUL >> %ddf% echo %1 >> %ddf% makecab /f %ddf% del %ddf%
青色のマーカー部分は作業フォルダーの指定です。この配下にフォルダーが作成され、分割ファイルが保存されます。変数で指定していますが、「”C:\Split"」のように存在するフォルダーを直接指定しても構いません。他にも使いそうな変数を以下に記載します。
- %~p1・・・分割するファイルが配置されているフォルダー
- %~dp0・・・バッチファイルを保存したフォルダー
黄色のマーカー部分が分割後のファイルサイズになるので、任意で変更してください。単位はByteで512の倍数で記載する必要があります。倍数になっていない場合はエラーとなります。
102400は100KByteです。
例)
- 10MB「10485760」
- 20MB「20971520」
- 100MB「104857600」
- 300MB「314572800」
赤色のマーカー部分は「圧縮」するかしないかです。「圧縮」が必要なければ「off」にしてください。
分割後のファイルサイズが変更になる場合
ファイルサイズが固定されている場合と同様にメモ帳等のテキストエディターに以下の内容をコピーし、ファイル名は任意で、拡張子は「.cmd」か「.bat」で保存してください。
@echo off setlocal cd /d %~p1 set /P splitfilesize="MaxDiskSize: " set ddf=split.ddf echo .Set CabinetNameTemplate=%~n1*.cab > %ddf% echo .Set DiskDirectoryTemplate=%~n1 >> %ddf% echo .Set MaxDiskSize=%splitfilesize% >> %ddf% echo .Set Cabinet=on >> %ddf% echo .Set Compress=on >> %ddf% echo .Set InfFileName=NUL >> %ddf% echo .Set RptFileName=NUL >> %ddf% echo %1 >> %ddf% makecab /f %ddf% del %ddf%
青色のマーカー部分は「ファイルサイズが固定されている場合」と同様で作業フォルダーの指定です。
赤色のマーカー部分は「ファイルサイズが固定されている場合」と同様で「圧縮」するかしないかです。「圧縮」が必要なければ「off」にしてください。
バッチファイルでファイル分割を簡単に実施する
バッチファイルを1度作成して保存しておくとその後は何度も同じ方法で使えます。コマンドプロンプトから分割するファイルを引数にして実行する方法もありますが、わざわざコマンドプロンプトを起動しなくても実行できる方法を紹介します。
ドロッグ&ドロップで使用する
分割したいファイルを作成したバッチファイルにドラッグ&ドロップするだけです。
ファイルサイズが固定されている場合
作成したバッチファイルに、分割するファイルをドラッグ&ドロップします。

「ファイルサイズが固定されている場合」のバッチファイルはコマンドプロンプトが表示され以下のように分割処理が始まります。

処理が完了したらコマンドプロンプトは自動的に閉じます。
作業フォルダーの指定で記載したフォルダーに、新しく分割対象ファイルと同じ名前のフォルダーが作成されています。

フォルダーの中に分割したファイルが配置されています。

ファイルサイズが変更になる場合
使用方法は「ファイルサイズが固定されている場合」と同様に、分割するファイルを作成したバッチファイルにドラッグ&ドロップします。

「ファイルサイズが変更になる変更になる場合」のバッチファイルはコマンドプロンプトが表示され以下のように「MaxDiskSize:」と表示されます。

分割後のファイルサイズを512の倍数で入力して[Enter]キーを押下します。

分割処理が開始されます。

処理が完了したらコマンドプロンプトは自動的に閉じます。
分割ファイルの配置は「ファイルサイズが固定されている場合」のバッチファイルと同様です。
ファイルサイズの入力ミスでコマンドが失敗した場合は、分割処理に失敗し、ファイルが生成されずコマンドプロンプトがすぐに閉じます。
右クリックメニューから実行する
作成したバッチファイルを以下の記事の方法で右クリックメニューの「送る」に配置すると、右クリックでファイル分割が出来るようになります。
分割するファイルを右クリックし、表示されたメニューから[送る]-[作成したバッチファイル]をクリックします。

その後は「ドロッグ&ドロップで使用する」と同様にコマンドプロンプトが開き続きの処理が始まります。
この方法を使用する場合は作業フォルダーは「%~p1」か直接指定にすることをおすすめします。
その他のファイル分割
バッチファイルを使用する方法以外にもファイル分割は色々と方法があります。本ブログで紹介しているファイル分割方法をまとめているので気になる方はご覧ください。
コメント