複数のファイルをマージする
1.概要 パソコンで色んなデータを扱う場合、複数ファイルの連結(マージ)する作業は比較的多いと思います。 筆者の場合は、Excel VBAやPythonなどで作成したスクレイピングプログラムでWeb上から収集したデータを CSVなどに出力して加工する場合も多いです。このようなデータを蓄積して1つのファイルに連結(マージ)後、 DB(データベース)を新規作成して、初期インポート用のファイルとして利用しています。 定期的に決まったフォーマットで同じ作業のものは、簡単なバッチファイル(bat)を作って実行させています。 バッチファイルは、 WMI (Windows Management Instrumentation)や Power Shell の登場で枯れた技術のように 思われがちですが、企業のIT部門などでは、まだまだ、広く利用されていて現役で活躍しています。 手軽で簡単であり、高速性を求めなければ便利ですね。ただ、会社なとでバッチファイルを他の人に使わせようとした時に、 マージ対象とするファイルやディレクリ―が変更となった場合やマージ後の出力ファイル名が他のシステムと 関連していたりすると、当然変更が必要となるため、その都度、作成者が面倒を見ることになります。 そのような事情から、 他の人が使うことを前提とした場合は、GUIで操作画面がある実行形式(exe)のツール があった方が便利 です。今回は、筆者が作成したマージツールを紹介します。 2.ファイルマージツール 2-1.ソースコード 概要で説明しましたが、バッチファイルによる簡単なサンプルを載せておきます。下記のサンプルですが、 必要に応じて、9行目のタイトル名と17行目の処理対象ファイルの拡張子(ワイルドカード)とマージ後の出力ファイル名 を適時修正して利用して下さい。マージ対象ファイルが格納されているディレクトリーは指定していませんので、 追加するか、同一ディレクリ―にバッチファイルを置いて実行させて下さい。どこにでもある簡単なものですみません。 雛形として利用して頂けたらと思います。バッチの命令としては、 type命令 か copy命令 で同等の処理ができますが、 copy命令 の方が やや高速に処理 できるようです。 @echo off setlocal cd /d %~dp0