Ways to Combine Two (or More) Text Files

Written by Barry Dysert (last updated November 18, 2019)


If you have a couple (or more) text files that you'd like to combine into one larger text file, Windows provides a few ways to do it. Which way you choose will likely depend upon how many files you want to combine, how big they are, and how comfortable you are with the different approaches.

One approach that may first come to mind is the copy/paste approach. This lets you stay within the familiar Windows environment while still accomplishing your goal. Follow these general steps:

  1. Right-click on the desktop or in a folder and choose New | Text Document from the resulting Context menu. Windows obligingly creates a new text document for you.
  2. Name the text document anything you like, such as "Combined.txt".
  3. Open the newly created text file in Notepad.
  4. Using Notepad, open a text file you want combined.
  5. Press Ctrl+A. All the information in the text file is selected.
  6. Press Ctrl+C. All the selected information is copied to the Clipboard.
  7. Select the text file you opened in step 3.
  8. Press Ctrl+V. All the information is pasted into the text file.
  9. Close the text file you opened in step 4.
  10. Repeat steps 4 through 9 for each of the other text files you want combined into the new one.
  11. Save the text file that contains the combined information.

Obviously, this is a very tedious approach—especially if you have more than a couple of files to be combined. The other approaches are much faster, but they do require that you do the work at the command line.

Probably the simplest command-line approach to use in combining files is to use the Copy command. With Copy, you can specify a number of files as inputs and one file as an output file. This will then copy all of the input files into the one output file, and you're done. Your command line might look something like this:

C:\> copy in1.txt + in2.txt + in3.txt Combined.txt

This will copy the files "in1.txt", "in2.txt", and "in3.txt" to a file called "Combined.txt". (The Combined.txt file is automatically created by the Copy command. If Combined.txt previously existed, it is overwritten by the command.) The Copy command supports wildcards, too, so if your file names follow a standard format, you could even do it this way:

C:\> copy in*.txt Combined.txt

This is probably the best approach to take, but if you prefer a more esoteric solution you could try either of two variations of the Type command. For example,

C:\> type in*.txt > Combined.txt

This types the contents of all of your "in" text files and sends the output to your "Combined.txt" file. If the Combined.txt file previously existed, it is overwritten by this command.

The second variation of the Type command also uses the For command. In this variation, the "in" files are cycled through one at a time and their contents are appended to your "Combined.txt" file:

C:\>For %f in (in*.txt) do type %f >> Combined.txt

These are all interesting ways to attack the problem, but my favorite is the simple Copy command.

 This tip (5670) applies to Windows 7, 8, and 10.

Author Bio

Barry Dysert

Barry has been a computer professional for over 35 years, working in different positions such as technical team leader, project manager, and software developer. He is currently a software engineer with an emphasis on developing custom applications under Microsoft Windows. When not working with Windows or writing Tips, Barry is an amateur writer. His first non-fiction book is titled "A Chronological Commentary of Revelation." ...


Understanding Windows Defender

There are a myriad of computer viruses always looking for new systems to infect. You can mitigate your risk of being ...

Discover More

Changing a Disk Drive's Name

Disk drives, in Windows, can have names. You can easily use Windows Explorer to change the name of a disk drive on your ...

Discover More

Disabling Automatic Driver Installation

Whenever you plug something into your computer, Windows dutifully tries to find and install the driver for your new ...

Discover More
More WindowsTips

Understanding Storage Spaces

Need to add some additional drive space to your system? Why not consider adding what Microsoft calls a "storage space?" ...

Discover More

Searching From within File Explorer

Searching from within File Explorer is a quick and easy way to find files and even content within files. This tip shows ...

Discover More

Using Offline Files

If you need access to files on a network but aren't always on the network, you may find that the offline files feature of ...

Discover More

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is seven more than 6?

2023-04-10 06:35:22


Really helpFul... saved lot of time.. thanks

2022-11-20 10:22:08

sandeep kothari

This is amazing Barry!

2022-11-19 07:46:41


Wow. This has helped me a lot. Thank you very much.

2022-08-29 02:35:28


You can simple use Python for this job, as below:

import shutil
import os
import glob

filenames = glob.glob('*.txt')

with open('output_file.txt','wb') as wfd:
for f in filenames:
with open(f,'rb') as fd:
shutil.copyfileobj(fd, wfd)

2022-05-19 12:17:12


80 txt combined in a second. thanks a lot!

2021-04-15 12:50:52


 I am getting this word before starting of line after copying.
Is there any solution to trim this.

Error comes in Ansi Format only

2021-03-14 11:20:10

William Neill

My problem: How to merge a bunch of TXT files (e.g., account info) for printout as a single document, using Notepad.

Having cut my programming teeth in the age of DOS/360, I found Barry's Command-Prompt approach appealing. And, after a couple false starts, I was able to get this to work: C:\Users\WN>copy G:\Files\*.txt MergedFileName.txt .

But, two glitches: 1) The MergedFileName.txt was written, not to the G: drive as I had wanted, but to C:\Users\WN. So, I had to go find and move it, manually. Not a big deal, but just another step.

2) The many *.txt files in the folder "Files" were merged, not alphabetically by component-file name as I had wanted, but by the component files' times of creation. Just moving the *.txt files to a new folder before merger didn't help, because Windows, in its wisdom, insisted on ordering by time of file creation, not time of most recent modification. So, the only way I could find to alphabetize component files within MergedFileName.txt, was to go back to the original set in "Files" and rename and resave so that re-creation-time order = alphabetic order. Surely, there is a better way??

2020-06-23 21:02:06

Timothy Takemoto timtak

Thank you. Copy worked for me. I could not change directory in the command prompt to my external SD Card so I copied my text files to C:\Users\MyUsername> which is where the command prompt defaulted to.

2020-03-27 13:07:53

Kam Mistry

Great post! Very helpful.

2020-03-07 12:55:31


this wasn't helpfull what about you can make a TIP on how to combine mutiple files into a single file on Windows 10 Home Edtiton

2019-12-24 10:53:07

J. Woolley

@John Fielding
Open a command prompt in the parent folder of the branch001 folder (i.e., the parent of all branch* folders) and try this:
DEL CombineGLT122019.XMT 2>NUL
FOR /F %f IN ('DIR /B branch*') DO TYPE %f\GLT122019.XMT >>CombineGLT122019.XMT

2019-12-23 16:46:18

John Fielding

Great write-up, Barry. How would I code the iterative copy if my file structure is more like: branch001\GLT122019.XMT, branch002\GLT122019.XMT, \branch003\GLT122019.XMT etc etc etc, and I want all of the data from each branch's file merged into one XMT (or TXT) document? I'd like to wildcard the branch node since we frequently add branches. I've been experimenting with copy, for/copy, and xcopy for days and cannot get it to work.

Newest Tips