AIを使ってしたい100のこと

生成AIの可能性と、それを使って自分自身を表現する楽しさを伝えることを目指しています。

Linuxで分割したバイナリファイルをWindowsで結合する方法—WSLなしで完結!

はじめに

Linux環境でsplitコマンドを使って、大きめのバイナリファイルを分割しました。分割されたファイルをWindows環境に持ってきたのですが、それらを結合する方法が分かりませんでした。WindowsにWSL(Windows Subsystem for Linux)が入っていれば、catコマンドで連結できます。しかし、WSLはありませんでした。 さて、どうしたものか。ChatGPTで解決方法を探ることにしました。

Linuxのsplitで分割したバイナリファイルを、Windowsで結合する方法

プロンプト

linuxのsplitで分割したバイナリファイルを、Windowsで結合する方法を教えてください。

回答

Linuxsplitコマンドで分割したバイナリファイルをWindowsで結合するには、以下の手順で進めます。

  1. 分割ファイルの確認

    • Linuxsplitコマンドにより分割されたファイルは通常、xaaaxaabなどの連番で保存されています。
  2. Windows環境での結合方法

    • Windowsで分割ファイルを結合するには、copyコマンドを使用します。コマンドプロンプトで以下のように入力してください。

      copy /b xaaa + xaab + xaac outputfile
      
      • /bはバイナリモードでのコピーを指定します。
      • xaaaxaabxaacなどのファイルを結合し、最後の引数であるoutputfileとして結合結果を保存します。
    • 上記のコマンドは、連続するファイルをバイナリモードで結合し、元のファイル形式(例えば画像や動画など)に戻してくれます。

  3. 注意事項

    • 結合時にファイル名の順番を間違えないようにしてください。順番が崩れると元ファイルが正しく復元されません。
    • ファイルが多い場合、ワイルドカード*)でまとめて指定できないため、すべてのファイル名を手動で指定する必要があります。

これで、Linuxで分割したバイナリファイルをWindowsで結合できます。

実践

copy /b xaaa + xaab + xaac outputfile

コマンドプロンプトで上記のコマンドを実行してみたところ、分割したバイナリファイルを結合できました!最初、PowerShellでコマンドを実行したところ、エラーになりました。ちゃんと「コマンドプロンプトで」と指定されていましたね。

やってみた感想

  • LinuxWindows間で、特にツールをインストールすることなくバイナリファイルの分割、結合ができることが分かりました。
  • copyコマンドでバイナリファイルを連結できるとは知りませんでした。
  • /bを付けたり+でつないでファイルを指定するなど、知らなければできないと思いました。
  • こういう「ちょっとした困りごと」をChatGPTに聞いて解決する、ということが最近増えてきました。
  • まさに一撃でした。