【Windows】複数のテキストファイル(txt、csv等)を1つのファイルにまとめる
台風がやばいですね。
流石に今回は余裕ではなさそうなので水や食料準備しました。
さて、今回は複数のテキストファイルを手軽にまとめる方法です(以降、マージと記載)。
意外と小回り効くのねってことで小ネタとして残します。
簡単だし、IT分野以外でも使えるから活用して作業効率化していきましょう。
今回も初心者向けの言葉で書いていきます。
さて今回は簡単にこんなテキストを準備しました。
テキストファイルとCSVファイルです。
まあよく見る拡張子のファイル達ですね。
一応注意事項ですが、こういった作業をするときは作業用のフォルダを作ってその中にファイルをコピーしましょうね。
IT以外の職業の方はわかりにくいと思うけど最悪ミスるとオリジナルのファイル死ぬので。
たとえ単純なマージであっても念のためにね。
それではこいつらをマージしていきます。
① コマンドプロンプト(PowerShellウィンドウ)を起動する
コマンドラインを実行するためコマンドプロンプトを起動します。
Windows10ならばPowerShellですね。
処理したいフォルダで「Shiftキー」を押しながら右クリックします。
「Shiftキー」はキーボードの左下とか「Enterキー」の下とかにあります。
右クリックしたら出てくるメニューの中から[コマンドウィンドウをここで開く]を選んでください。
Windows10の場合は、画像の通り[PowerShellウィンドウをここで開く]を選びます。
こんな感じで起動します。
画像はPowerShellウィンドウですが、コマンドプロンプトでも操作は変わりません。
画像を見てもらえればわかりますが、さっき右クリックしたフォルダの場所が表示されています。
(例:PS D:\90_work>)
よくこういうやり方を紹介しているサイトでは、
「cdコマンドで作業フォルダを指定してください!」
とかありますけど、このやり方のほうが楽です。
まあcdコマンドで指定してくださいってルールあるならもちろん別です。
② コマンドを入力して実行する
起動したウィンドウに以下のルールに従ってコマンドを打ちます。
type [処理したいファイル名] > [マージした後のファイル名]
typeコマンドはテキストファイルの中身を表示するコマンドです(Windows系OSの場合)。
今回の例では以下のコマンドを入力しました。
type *.txt > .\Merge\Merge.txt
意訳を含んで日本語で解説すると、
テキストファイル(.txt)全部の中身を、同じフォルダの中にあるMergeフォルダにMerge.txtという名前で保存しろ。
となります。
typeコマンドではワイルドカードとしてアスタリスク(*)を使えます。
わかりやすく説明すると、アスタリスクの部分はどんな名前でもいいよとなります。
③ コマンドを実行する
では「Enterキー」を押して実行します。
何事もなく実行完了したら出来上がってます。
画像では、出来上がったファイルの一覧を確認しやすいようコマンドを追加で打ってます。
Mergeフォルダの下にMerge.txtというファイルが出来上がってますね。
出来上がったものを確認してみます。
ついでにマージ対象となったファイルの中身と合わせて確認しましょう。
この通り、ちゃんと一つにまとまりましたね。
④ その他のコマンド実行例
もちろんテキストファイル(.txt)以外も使えます。
CSVファイルをマージしてみます。
ファイルを準備して、コマンドを打ちます。
ではマージしていきましょう。
まだウィンドウ開いてるなら、カーソルキー「↑ や ↓」を繰り返し押しましょう。
過去に実行したコマンドを遡れるのでちょっと直すだけで繰り返し使いまわせますよ。
上記のコマンドの通り、取り込む元と吐き出す先が同じファイルの種類である道理はありません。
今回はTSVファイルに吐き出します。
ちゃんと出力できてますね。
仮に、取り込む元ファイルの末尾に改行がなくてもちゃんと順番に出力されていますね。
もう一つコマンドの例を。
ワイルドカードを指定することで、ファイル名の末尾に数字の2が入っているファイルを指定しています。
試しに出力先はSQLファイルに。
SQLも結局テキストですからね。処理対象ファイルの例にもれません。
実行結果は以下の通り。
テキストファイル、CSVファイル関わらずちゃんとマージできましたね。
--------------------------
いかがだったでしょうか。
今回の小ネタ、意外と使える場面あると思います。
積極的に作業の効率化をしていきましょう。
以上。