Linux(UNIX)上でsplitコマンドで分割したファイルをWindowsのコマンドプロンプトで結合するには
上記の記事でファイルを分割するsplitコマンドについて説明した。
上記の記事で説明したようにsplitコマンドで分割したファイルはcatコマンドで結合するが、分割したファイルをWindows系OSにダウンロードしてそれを結合する場合コマンドプロンプト(所謂DOS窓)で結合するにはcopyコマンドを使って結合することが出来る。
copy file.1+file.2+file.3 file.total
といったフォーマットになる。
バイナリファイルの場合は /Bオプションを書くファイルの後ろに付ける。
copy file.1 /B+file.2 /B+file.3 /B file.total /B
アスキーファイルの場合は省略することができるが、明示的に指定する場合は /Aを付ける。
具体的にコマンドプロンプト上でバイナリファイルを結合する場合下記のようになる。
> copy www2010080701.tar.gz.aa /B+www2010080701.tar.gz.ab /B+www2010080701.tar.gz.ac /B+www2010080701.tar.gz.ad /B+www2010080701.tar.gz.ae /B+www2010080701.tar.gz.af /B www2010080701.tar.gz /B
◎copyコマンドのヘルプ
C:\Documents and Settings\kumacchi>copy /?
1 つまたは複数のファイルを別の場所にコピーします。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B]送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ …]] [受け側 [/A | /B]]
送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。既定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。
複数のファイルを付加するときは、受け側に 1 個のファイルを指定し、送り側に
複数のファイルを指定します (ワイルドカードを使うか、ファイル1+ファイル2+
ファイル3 と指定します)。
C:\Documents and Settings\kumacchi>
ちゃんと結合出来ているかは、圧縮ファイルであれば実際に展開(解凍)ソフトでファイルを展開してみて、ファイルが破損していると表示されないことなどで確認することが出来る。より確実に確認するにはファイルのハッシュ値などで確認するのが良いのではないかと思う。