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

以下の記事でWindowsの標準環境でファイル分割とファイル結合を実施する方法を紹介しています。

紹介していた方法では、毎回ファイルにあった設定ファイルを用意しなければいけませんでした。

今回は1度準備すれば何回も利用できる、バッチファイルを使用してファイル分割を実施する方法を紹介します。

スポンサーリンク

ファイル分割用のバッチファイルを準備する

分割後のファイルサイズが常に固定されている場合と、変更の可能性がある場合で2種類準備してみました。

分割後のファイルサイズが常に固定されている場合

メモ帳等のテキストエディターに以下の内容をコピーし、ファイル名は任意で問題ありませんが、拡張子は「.cmd」か「.bat」で保存してください。

@echo off
setlocal
cd /d %~dp0

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%

黄色のマーカー部分が分割後のファイルサイズになるので、任意に変更してもらって構いません。

単位はByteで512の倍数で記載する必要があります。

102400は100KByteです。

例)

  • 10MB「10485760」
  • 20MB「20971520」
  • 100MB「104857600」
  • 300MB「314572800」

赤色のマーカー部分は「圧縮」するかしないかです。

「圧縮」が必要なければ「off」にしてください。

分割後のファイルサイズが変更になる場合

ファイルサイズが固定されている場合と同様にメモ帳等のテキストエディターに以下の内容をコピーし、ファイル名は任意で、拡張子は「.cmd」か「.bat」で保存してください。

@echo off
setlocal
cd /d %~dp0

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:」と表示されます。

ファイル分割サイズを確認する画像

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

ファイル分割サイズを入力した画像

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

ファイル分割のバッチファイルが実行された画像

処理が完了したらコマンドプロンプトは自動的に閉じます。

分割ファイルの配置は「ファイルサイズが固定されている場合」のバッチファイルと同様です。

ファイルサイズの入力ミス等でコマンドが失敗した場合は、分割処理に失敗し、ファイルが生成されずコマンドプロンプトがすぐに閉じます。

コメント

タイトルとURLをコピーしました