「フォルダ内のテキストファイルをマージする」
今回は、フォルダ内のテキストファイルをマージするバッチを紹介します。
パソコンでは、ファイルが多いと検索やそれらを扱う処理で遅くなってしまいます。
またフォルダやファイルの管理も大変になることでしょう。
もし一つのファイルにまとめて問題がないのであれば
マージして一つのファイルにまとめることをお勧めします。
手作業でひとつひとつファイルを開いてコピー&ペーストしていってもいいのですが、
大量のテキストファイルだったり、中身が何行もあれば作業量は膨大になってしまいます。
そこで、コマンドのCOPYコマンドを使うことで簡単に複数ファイルを一つにまとめることができます。
【COPYコマンド】
COPYコマンドの構文は以下のとおりです。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B] 送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ …]] [受け側 [/A | /B]]送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
/L 送り側がシンボリック リンクの場合は、送り側リンクが指し示す
実際のファイルではなく、リンクをターゲットにコピーします。
【サンプルコード】
@echo off
cd [フォルダパス(ex c:\test)]
copy [コピー元のファイル名] [コピー先のファイル名]
pause
【サンプルコード解説】
①cdコマンドで対象フォルダに移動します
②copyコマンドで対象ファイルを指定、出力ファイルを指定します
また、対象ファイルはワイルドカードで複数のファイルを指定できます。
すべてのファイルを対象とする場合「*(アスタリスク)」で指定しましょう。
COPYコマンドの実行例
実際にCOPYコマンドを実行した例が以下のとおりです。
testフォルダ内にテキストAとテキストBが存在しています。
対象ファイル(テキストAとテキストB)の中身をコピーしつつ、
新たにテキストCを作成してマージしています。
対象ファイルはテキストファイル(拡張子が.txt)なので、
「*.txt」で対象ファイルを指定しています。
まとめ
いかがでしたでしょうか?
今回は、フォルダ内のテキストファイルをマージするバッチをご紹介しました。
これでフォルダやファイルの整理ができますし、
大量のファイルをひとつにまとめることで処理も早くなる場合があります。
以上、「【バッチ・コマンド】フォルダ内のテキストファイルをマージ(合併)する」でした。