linuxサーバ等でsplitして分割したファイルをwindows OS上で結合することが多々あったので、便利なバッチファイルを作ってみました。ここではWindowsのコマンドを使った分割ファイルの結合方法とそのバッチファイルを紹介します。

コマンドプロンプトのcopyコマンドで結合する方法

分割ファイルはWindows標準のcopyコマンドを使って結合できます。分割ファイルはzipファイル等のバイナリを扱うことが多いと思いますので、/Bオプションも付けておきます。(/Bオプションをファイルの後につけるとそのファイルをバイナリとして扱う)

copy file_1 /B+file_2 /B+file_3 /B output_file /B

バッチファイル化してドラッグアンドドロップで結合する

毎回copyコマンドを作るのも面倒でしたので、バッチファイル化してドラッグアンドドロップで結合できるようにしてみました。

以下の内容でmerge.batという名前のファイルを作り(ファイル名は任意)、結合対象のファイルをドラッグアンドドロップすると結合されてoutputというファイルが出力されます。(出力先はドラッグ元ファイルの置き場所になります)

結合順はファイル名の昇順になるため、xxx_aa、xxx_ab等の昇順になるように分割ファイル名を付ける必要があります。

作ったバッチファイルをダウンロード

バッチファイルのソースコードは以下になります。

@echo off

SETLOCAL enabledelayedexpansion

SET opt=
for %%f in (%*) do (
 SET opt=!opt!%%f /B+
 echo %opt%
)
SET opt=%opt:~0,-1%

copy %opt% output /B

ENDLOCAL

@pause