複数のテキストファイル(text file)を1つの テキスト(text file)ファイルにマージする必要がある場合がいくつかあります。たとえば、Excelなどにインポートするために1つのファイルに結合する必要がある、すべて異なるディレクトリにある数百のテキストファイルを含むCDを受け取る場合があります。(text file)
また、データマイニングまたはデータ分析(mining or data analysis)の目的で結合するネットワークログ(network log)ファイル、サーバーログファイル、またはバックアップログがある場合にも役立ちます。テキストファイルを結合する方法はいくつかあり、選択した方法によって結果が少し異なります。
この記事では、テキストファイルを組み合わせるいくつかの方法について説明します。これにより、1つの方法(method doesn)がうまく機能しない場合でも、別の方法を試すことができます。
方法1-コマンドプロンプト
コマンドプロンプト(command prompt)を使用しても問題がない場合は、一連のテキストファイル全体をすばやくマージするために使用できる簡単なコマンドがいくつかあります。コマンドプロンプト(command prompt)を使用する利点は、サードパーティのプログラムをインストールする必要がないことです。コマンドプロンプト(command prompt)の使用に関する簡単な入門書が必要な場合は、初心者向けガイドを確認して(s guide)コマンドプロンプト(command prompt)を使用してください。
また、コマンドラインは複数のパラメーターを受け取ることができるため、(command line)結合プロセス(joining process)に含めるファイルをフィルター処理およびソート(filter and sort)するための非常に複雑なコマンドを実際に作成できます。最も単純なコマンドについて説明しますが、より複雑な操作を行う方法を示すために、いくつかの例についても詳しく説明します。
まず、Windowsエクスプローラー(Windows Explorer)を開き、テキストファイルが配置されているディレクトリに移動します。ファイルが多くのサブフォルダに保存されている場合は、親ディレクトリ(parent directory)に移動します。CTRL + SHIFTを押したまま、エクスプローラウィンドウ(Explorer window)の空いている場所を右クリックします。
これにより、現在のディレクトリにすでに設定されているコマンドウィンドウ(command window)が開きます。これで、コマンドを入力するだけです。上記のように、フォルダには3つのテキストドキュメントといくつかのフォルダがあります。この1つのフォルダー内のテキストファイルのみを結合する場合は、次のコマンドを発行します。
for %f in (*.txt) do type “%f” >> c:\Test\output.txt
コーディング用語では、これは.TXTで終わるすべてのファイルをループし、それらを(.TXT)output.txtというファイルに出力する単純なFORループです。
上記のように、ループは、ディレクトリで見つかったテキストファイルごとに個別のコマンドを実行するだけです。(text file)テキストファイルがあり、 (text file).logや.dat(.log or .dat)などの拡張子が異なる場合は、コマンドで*.txt値を変更するだけで済みます。また、出力は現在のディレクトリとは異なる場所にある必要があることに注意してください。そうしないと、出力ファイル(output file)もテキストファイル(text file)であるため、それ自体に追加されます。
ここで、1つのフォルダーだけでなく、多くのサブフォルダーにあるテキストファイルがあるとします。この場合、コマンドにパラメーターを追加して、現在のディレクトリのサブフォルダー内のテキストファイルを再帰的に検索するように指示できます。
for /R %f in (*.txt) do type “%f” >> c:\Test\output.txt
forステートメントの直後に/Rパラメーターがあります。コマンドを実行すると、同じディレクトリにある3つのディレクトリにいくつかの追加のテキストファイルが見つかることがわかります。
コマンドプロンプト(command prompt)で通常行われているように、実際には、上記のFOR ステートメントと同じことを実行できる別のコマンドがあります。このコマンドは実際にははるかに単純(lot simpler)であり、問題なく機能する場合は、上記の方法の代わりに自由に使用してください。
copy *.txt output.txt
このコマンドはうまく機能しますが、前のコマンドほど多くのオプションはありません。たとえば、サブフォルダを再帰的に検索することはできません。
方法2– TXTCollector
TXTCollectorは、適切な機能セットを備えたフリーテキストのファイルマージツールです。使い方はとても簡単で、いくつかの異なる方法で機能するように構成できます。
まず、フォルダパス(folder path)を入力するか、コピーして上部の[(type or copy)フォルダ(Folder)]ボックスに貼り付けるか、[フォルダの参照(Browse Folders) ]ボタンをクリックして、テキストファイルのあるフォルダを選択します。次に、組み合わせるファイルの種類を選択できます。
デフォルトでは、TXTCollectorはすべてのTXTファイルを検索し、それらを結合します。ただし、リスト(list and combine)から選択して、複数のCSV、BAT、HTM、LOG、REG、XML、およびINIファイルを1つに結合またはマージすることもできます。
TXTCollectorでメインフォルダーの各サブフォルダーを再帰的に調べる場合は、[サブフォルダーを含める(Include subfolders)]チェックボックスをオンにします。TXTCollectorは、ディレクトリで見つかったファイルの正確な数を表示します。
次に、結合される各ファイルの間に表示されるセパレーターを選択できます。これは、コマンドラインメソッドでは(command line method)得られ(t get)ない優れた機能です。ドロップダウンメニューから選択するか、ボックスに好きなものを入力することができます。
デフォルトでは、プログラムは各ファイルの間にディレクトリ名(directory name)、ファイル名(file name)、およびセパレータを配置します。各ファイル間で途切れることなくファイルを継続的に結合する場合は、[セパレータ(No Separator)なし] 、 [ファイル名なし]( No Filename)、および[キャリッジリターン(No Carriage Returns)なし]をオフにします。
次に、ファイル間にスペース文字(space character)を追加するかどうかを選択できます。TXTCollectorの優れ(TXTCollector)た点は、実際にカスタマイズできることです。下部にある[拡張機能とセパレーター(Extensions and Separators)]というリンクをクリックすると、独自の拡張機能をTXTcollectorに追加できます。
TXTCollectorアプリケーション(TXTCollector application)データディレクトリにあるextensions.txtファイルを編集します。TXTcollectorは、使用されている拡張子に関係なく、(TXTcollector)プレーンテキスト(plain text)ファイルのみを処理することに注意してください。したがって、たとえば、プレーンテキストとして保存されない限り、複数の(plain text)XLSファイルを組み合わせることができません。
プログラムの唯一の制限は、一度に32,765個のテキストファイルしか結合できないことです。それ以上ある場合は、その数を1つにまとめてから、大きいものと小さいものを最大32,765まで組み合わせることができます。
全体として、複数のテキストファイルを組み合わせるための非常にシンプルでありながら強力なフリーウェアアプリ。(freeware app)うまくいけば(Hopefully)、これらの2つの方法はほとんどの人に有効です。より複雑な状況に遭遇した場合は、コメントを投稿してください。サポートさせていただきます。
また、複数のPowerPoint(PowerPoint)プレゼンテーションを組み合わせる方法に関する他の投稿も確認してください。楽しみ!
How to Combine or Merge Multiple Text Files
There are several occasions where you may need to merge multiple text files into single text file. For examрle, уou may receive a CD that сontainѕ hυndreds of text files, all in different directories, which you need to combine into one file fоr imрorting into Excel, etc.
It’s also useful if you have network log files, server log files, or backup logs that you want to combine for purposes of data mining or data analysis. There are a couple of different ways you can go about joining text files together and the results are slightly different depending on the method you choose.
In this article, I’ll write about several ways to combine text files so that if one method doesn’t work out too well, you can try something else.
Method 1 – Command Prompt
If you are ok using the command prompt, then there are a couple of simple commands you can use to merge a whole bunch of text files quickly. The advantage of using the command prompt is that you don’t have to install any third-party programs. If you want a little primer on using the command prompt, check out my beginner’s guide to use the command prompt.
Also, since the command line can take multiple parameters, you can really create quite a complex command to filter and sort through which files you want to include in the joining process. I’ll explain the simplest command, but will also delve into a few examples to show you how to do the more complicated stuff.
Firstly, open Windows Explorer and go to the directory where you text files are located. If the files are stored in many subfolders, navigate to the parent directory. Now press and hold CTRL + SHIFT and then right-click on any empty spot in the Explorer window.
This will open a command window that is already set to the directory you were in. Now all we have to do is type in the command. As you can see above, I have three text documents in the folder along with a couple of folders. If I only want to combine the text files in this one folder, I would issue this command:
for %f in (*.txt) do type “%f” >> c:\Test\output.txt
In coding parlance, this is a simple FOR loop that loops through all the files end with .TXT and outputs them to a file called output.txt.
As you can see above, the loop just runs a separate command for each text file that it finds in the directory. Note that if you have a text file, but it has a different extension like .log or .dat, etc, then you can simply change the *.txt value in the command. It’s also worth noting that the output should be to a different location than the current directory, otherwise it will append the output file to itself since it also is a text file.
Now let’s say you have text files that are located not just in one folder, but in many subfolders. In this case, we can add a parameter to the command, which will tell it to recursively search for text files in any subfolders of the current directory.
for /R %f in (*.txt) do type “%f” >> c:\Test\output.txt
You’ll notice the /R parameter right after the for statement. Now when I run the command, you’ll see that it finds a couple of extra text files in the three directories that are in the same directory.
As is usual with the command prompt, there is actually another command that allows you to do the same thing as the FOR statement above. The command is actually a lot simpler and if it works fine for you, then feel free to use it instead of the above method.
copy *.txt output.txt
This command works well, but doesn’t have as many options as the previous command. For example, it won’t let you recursively search through subfolders.
Method 2 – TXTCollector
TXTCollector is a free text file-merging tool with a decent feature set. It’s very easy to use and can be configured to work in a couple of different ways.
First, type or copy and paste the folder path into the Folder box at the top or simply click on Browse Folders button and select the folder with the text files. You can then choose which type of files you want to combine.
By default, TXTCollector will search for all TXT files and combine them. However, you can pick from the list and combine or merge multiple CSV, BAT, HTM, LOG, REG, XML, and INI files into one also!
Check the Include subfolders box if you want TXTCollector to recursively look into each sub-folder of the main folder. TXTCollector will show you exactly how many files it found in the directory.
Next you can choose a separator that will appear between each file that is being combined. This is a nice feature that you don’t get with the command line method. Either you can pick from the drop down menu or you can just type in whatever you want into the box.
By default, the program will put the directory name, file name, and the separator between each file. If you want to combine the files continuously without any break between each file, check off No Separator, No Filename, and No Carriage Returns.
You will then have the choice of adding a space character between the files or not. The cool thing about TXTCollector is that you can really customize it. If you click on the link at the bottom called Extensions and Separators, you can add your own extensions to TXTcollector.
Edit the extensions.txt file located in the TXTCollector application data directory. Note that TXTcollector only handles plain text files, no matter what extension is used. Therefore, it cannot combine multiple XLS files, for example, unless they are saved as plain text.
The only limitation to the program is that it can only combine 32,765 text files at once. If you have more than that, you can combine that many into one and then combine the large one with more smaller ones, up to 32,765!
Overall, a very simple, yet powerful freeware app for combining multiple text files. Hopefully, these two methods will work for most people. If you have run into a situation that is more complicated, feel free to post a comment and I’ll try to help.
Also, be sure to check out my other post on how to combine multiple PowerPoint presentations. Enjoy!