Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как с помощью командной строки Windows объединить несколько текстовых файлов в один новый файл. Для этого скопируйте все текстовые файлы в одну папку, а затем запустите специальную команду.
-
1
Щелкните правой кнопкой мыши по меню «Пуск»
и выберите Проводник. Меню «Пуск» находится в левом нижнем углу экрана.
- Чтобы ускорить процесс объединения, все текстовые файлы должны находиться в одной папке. Если файлы хранятся в разных папках, скопируйте их в одну.
Убедитесь, что все текстовые файлы оканчиваются пустой строкой (или разделительным символом/словом/текстом по вашему выбору), чтобы знать, где начинается каждый раздел.
-
2
Откройте папку с текстовыми файлами. Щелкните по «Этот компьютер» или «Компьютер» на правой панели, а затем перейдите к папке с файлами. Откройте папку — на правой панели отобразятся текстовые файлы.
-
3
Удерживайте ⇧ Shift и щелкните правой кнопкой мыши по пустому пространству на правой панели. Откроется контекстное меню.
-
4
Нажмите Открыть командную строку. Откроется окно командной строки, в котором активным будет текущий каталог.
- Если вы активировали Windows PowerShell, нажмите «Открыть окно PowerShell».
-
5
Введите copy *.txt newfile.txt в командной строке. Вместо «newfile.txt» подставьте имя файла, который будет создан (например, mergedfiles.txt).
-
6
Нажмите ↵ Enter, чтобы запустить команду. Будет создан новый текстовый файл с содержимым всех текстовых файлов, которые находятся в текущей папке.[1]
- Убедитесь, что новый файл включает содержимое всех текстовых файлов, а затем удалите их (если они не нужны).
Реклама
Об этой статье
Эту страницу просматривали 120 408 раз.
Была ли эта статья полезной?
I have 50 text files in one directory.
Is there a Windows command-line method to concatenate those files into a single file?
I am using Windows Vista.
I don’t want to type the name of all files.
asked Feb 22, 2010 at 1:59
6
I don’t want to type the name of all
files.
That’s easy to be avoided. Open a command prompt in this folder and type the following command:
copy /b *.txt newfile.txt
Press Enter.
Now you will have all text files in this folder ordered by date ascending merged into a single file called newfile.txt.
My ultimate aim is to store the
contents of each text file in a separate
column of an Excel sheet.
Here’s a tutorial that may help you to achieve your «ultimate aim»:
Merge all CSV or TXT files in a folder in one worksheet
answered Feb 22, 2010 at 2:27
8
To add a newLine at the end of each concatenated file, use type
instead of copy
, as follows:
type *.txt > newfile.txt
slhck
224k71 gold badges607 silver badges594 bronze badges
answered Apr 11, 2013 at 8:55
EchebanEcheban
6105 silver badges5 bronze badges
4
Assuming you are talking about appending text files, the copy
command can be used to append them together:
copy file1+file2+file3 targetfile
If you have many files, you could loop by appending one file at a time.
For binary files, add in the ‘/b
‘ option:
copy /b file1+file2+file3 targetfile
This assumes that you know the binary files you are working with can be appended back-to-back; if not, you will get a lump of useless data.
wfaulk
6,1985 gold badges34 silver badges45 bronze badges
answered Feb 22, 2010 at 2:08
niknik
55.9k10 gold badges98 silver badges140 bronze badges
3
Run the following command in the command prompt:
for %f in (*.txt) do type "%f" >> output.txt
answered Aug 10, 2014 at 8:06
3
The following .bat file will append all *.for files, except the one named XIT.for, to a blank file named MASTER.for
type NUL > MASTER.for
FOR %%G IN (*.for) DO IF NOT "%%G" == "XIT.for" copy /A MASTER.for+"%%G" && echo. >> MASTER.for
answered May 12, 2014 at 11:52
EchebanEcheban
6105 silver badges5 bronze badges
3
set n=50
for /l %i in (1,1,%n%) do type file%i.txt >> file.txt
Works on both binary & text files & ensures files concatenate consecutively (1-50).
Tested on Win 10 CMD
answered Apr 25, 2020 at 8:19
ZimbaZimba
1,06111 silver badges15 bronze badges
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
I need to create a script, which concatenates multiple text files into one.
I know it’s simple to use
type *.txt > merged.txt
But the requirement is to «concatenate files from same day into file day_YYYY-DD-MM.txt» I am a Linux user and Windows batch is hell for me. It’s Windows XP.
Null
1,9509 gold badges30 silver badges33 bronze badges
asked May 26, 2015 at 18:41
12
Windows type
command works similarly to UNIX cat
.
Example 1: Merge with file names (This will merge file1.csv & file2.csv to create concat.csv)
type file1.csv file2.csv > concat.csv
Example 2: Merge files with pattern (This will merge all files with csv extension and create concat.csv)
When using asterisk(*) to concatenate all files. Please DON’T use same extension for target file(Eg. .csv). There should be some difference in pattern else target file will also be considered in concatenation
type *.csv > concat_csv.txt
answered Oct 31, 2018 at 8:29
Shantanu SharmaShantanu Sharma
3,6811 gold badge18 silver badges40 bronze badges
4
At its most basic, concatenating files from a batch file is done with ‘copy’.
copy file1.txt + file2.txt + file3.txt concattedfile.txt
answered May 26, 2015 at 18:55
LanceLance
3,8344 gold badges21 silver badges29 bronze badges
6
In Win 7, navigate to the directory where your text files are. On the command prompt use:
copy *.txt combined.txt
Where combined.txt
is the name of the newly created text file.
answered Dec 19, 2019 at 10:37
Ghoul FoolGhoul Fool
6,31911 gold badges68 silver badges125 bronze badges
1
Place all files need to copied in a separate folder, for ease place them in c drive.
Open Command Prompt — windows>type cmd>select command prompt.
You can see the default directory pointing — Ex : C:[Folder_Name]>.
Change the directory to point to the folder which you have placed files to be copied, using ‘ cd [Folder_Name] ‘ command.
After pointing to directory — type ‘dir’ which shows all the files present in folder, just to make sure everything at place.
Now type : ‘copy *.txt [newfile_name].txt’ and press enter.
Done!
All the text in individual files will be copied to [newfile_name].txt
answered Mar 7, 2017 at 8:20
KingsmanKingsman
1741 silver badge10 bronze badges
2
I am reiterating some of the other points already made, but including a 3rd example that helps when you have files across folders that you want to concatenate.
Example 1 (files in the same folder):
copy file1.txt+file2.txt+file3.txt file123.txt
Example 2 (files in same folder):
type *.txt > combined.txt
Example 3 (files exist across multiple folders, assumes newfileoutput.txt doesn’t exist):
for /D %f in (folderName) DO type %f/filename.txt >> .\newfileoutput.txt
answered Dec 18, 2018 at 16:58
GigasoupGigasoup
811 silver badge1 bronze badge
We can use normal CAT command to merge files..
D:> cat *.csv > outputs.csv
answered May 17, 2016 at 10:38
SadheeshSadheesh
8959 silver badges6 bronze badges
3
cat «input files» > «output files»
This works in PowerShell, which is the Windows preferred shell in current Windows versions, therefore it works. It is also the only version of the answers above to work with large files, where ‘type’ or ‘copy’ fails.
answered Jul 2, 2018 at 15:38
2
Try this:
@echo off
set yyyy=%date:~6,4%
set mm=%date:~3,2%
set dd=%date:~0,2%
set /p temp= "Enter the name of text file: "
FOR /F "tokens=* delims=" %%x in (texto1.txt, texto2.txt, texto3.txt) DO echo %%x >> day_%temp%.txt
This code ask you to set the name of the file after «day_» where you can input the date.
If you want to name your file like the actual date you can do this:
FOR /F "tokens=* delims=" %%x in (texto1.txt, texto2.txt, texto3.txt) DO echo %%x >> day_%yyyy%-%mm%-%dd%.txt
answered May 26, 2015 at 19:14
1
You can do it using type:
type"C:\<Directory containing files>\*.txt"> merged.txt
all the files in the directory will be appendeded to the file merged.txt
.
answered Nov 12, 2018 at 23:17
JorgesysJorgesys
124k23 gold badges334 silver badges271 bronze badges
copy
is definitely much faster than type
— but it sometimes (with large files?) adds a SUB character at the end of the file. So, strictly speaking, it does not simply concatenate the files in the same way as cat
in Unix.
So, the correct answer is to use cat
— either in something like Git Bash (where it has the same syntax as in Unix), or PowerShell (where it does not).
answered Feb 11 at 20:01
1
Здравствуйте, друзья. В последнее время вы меня часто спрашиваете, как объединить txt файлы в один. О том на сон грядущий и поговорим (не знаю, как у вас, а у меня за окном уже стемнело). Вдохновившись, я подобрал для вас несколько самых простых и действенных способов для Windows и прочих операционных систем.
Объединить небольшие txt-файлы в один большой документ можно разными способами — посредством написания скриптов в бат-файлах или команд в cmd-строке. А также на помощь придут всевозможные программы.
Конкатенация
Среди огромного количества поступивших на данную тему обращений имелся и вопрос: «что такое конкатенация текстовых файлов?» Конкатенация (звучит загадочно, правда) – это не что иное, как объединение нескольких документов заданного формата в один, то есть последовательный перенос содержимого всех документов в один с расположением непосредственно друг за другом.
Представьте, у вас имеется много txt файлов (чтобы вникнуть в суть рассмотрим на примере 3):
- В первом написано МАМА.
- Во втором – ПАПА.
- А в третьем – Я.
После проведения конкатенации вы получите всего один документ с текстом МАМАПАПАЯ, что и является сутью всего процесса. Конечно, правильно подобранные решения достижения поставленных целей подразумевают возможность добавления между добавленными фрагментами разделителей – пробелов или строк.
Возникает резонный вопрос «зачем это нужно?». Например, объединить главы, расположенные в отдельных файлах, в одну книгу. Или собрать ежемесячные отчёты в один годовой. Ситуаций может быть бесчисленное множество.
Windows
Сначала расскажу, как объединить несколько имеющихся файлов txt в один в родном и привычном многим Windows. Затем кратко остановимся на решениях и для некоторых других ОС. Итак, в системе, рождённой корпорацией «Майкрософт», есть несколько способов быстро соединить все заданные файлы-кусочки в один целый текстовый «пирог».
Онлайн-сервисы
Самый беспроблемный способ объединить требуемые файлы формата txt в один файл, на мой взгляд, это воспользоваться одним из многочисленных онлайн-сервисов. Мной опробован и положительно оценён ресурс Filesmerge, функционал которого позволяет склеивать не только «текстовики», но и JPG, PDF, Word и Excel-файлы. А уж txt-пироги можно получить не только из исходников того же формата, но и из text, lst, log, euc, me, err, ans, dsc, asc и eml-кусочков (мог пару форматов пропустить). Для объединения нужно:
- Выбрать файлы с компьютера или интернета, для чего предусмотрены соответствующие окошки.
- Настроить нюансы объединения в виде добавления суффиксов, префиксов и разделителей, а также подтверждения выходного формата.
Bat-файл
Предложения онлайн-сервисов хотя и соблазняют своей простотой, но для меня они не интересны, так как я предпочитаю решать задачи своими силами. В данном случае мне интереснее объединить разрозненные txt-файлы в один общий посредством создания bat-файла с соответствующей командой. Например, так:
- Дано: 2 файла – 1.txt и 2.txt.
- В первом имеется содержимое МАМА.
- Во втором – ПАПА.
- Создаём ещё один текстовый файл (назову его 9.txt) посредством стандартного средства Windows под названием «Блокнот».
- Вписываем в него команду:
@echo off
echo:>9.txt
copy /b 1.txt + 2.txt ITOG.txt
del /q 9.txt
-
- Через «Файл» сохраняем документ как 9.bat.
- Закрываем «Блокнот» и видим, что в папке появился «батник» с именем 9.bat.
- Запускаем его и пожинаем плоды в виде исчезнувшего 9.txt и появившегося ITOG.txt.
- Раскрываем ITOG.txt и обнаруживаем слияние двух текстов МАМАПАПА.
Скрипт, написанный нами, командует системе выполнить задание из 9.txt, а именно сложить содержимое 1 и 2.txt, записать его в ITOG.txt, а 9.txt удалить по завершении.
Слияние файлов через bat-документы довольно простое и интересное занятие, если знать команды для скриптов. Возможны такие варианты написания:
- Тот же результат: copy *.txt all.txt
- Разделит на части:
@echo off
(
type 1.txt
echo:
type 2.txt
)>final.txt
Открыв final.txt, полученный по последнему скрипту, мы с вами увидим содержимое исходников, написанное столбиком.
Уверен, что профи в данной области могли бы написать множество скриптов, но тех, что я привёл уже вполне достаточно для достижения цели.
Командная строка
Любителям «командовать» системе однозначно будет интересно, как соединить всё те же текстовые (txt) файлы при помощи командной строки. Хочу отдельно отметить (для тех кто спрашивал), MS DOS – это внутренняя среда «Виндовс» и все действия в ней выполняются через командную строку (означает, такой способ подходит и для вас тоже). Для того чтобы объединить txt файлы в один необходимо запустить окно той самой строки, набрав в «Выполнить» (найдётся в «Пуске») сочетание cmd.
В результате должно появиться чёрное окно с предложением системы ввести команду, что мы и будем далее делать.
Команда простая, она включает в себя ДЕЙСТВИЕ ПУТЬ К 1 ФАЙЛУ + ПУТЬ КО 2 ФАЙЛУ ПУТЬ К РЕЗУЛЬТАТУ. У меня файлы 1 и 2.txt находятся на диске E, туда же хочу поместить и результат, поэтому пишем copy E:\1.txt + E:\2.txt E:\3.txt
Для подтверждения действия нажимаем на Enter и видим отчёт об удачном выполнении задания.
Для проверки результата я зайду на диск E, а вы по тому пути, который указали в команде. В итоге я увидел новый документ 3.txt, а в нём объединённое содержимое заданных файлов. А у вас получилось? (напишите в комментариях).
Друзья, если вы предпочитаете работать в Powershell, то и там вы легко сможете объединить текстовые файлы той же командой, но с небольшим добавлением cmd /c copy E:\1.txt + E:\2.txt E:\3.txt
После подтверждения действия «Энтером» результат не заставит себя долго ждать.
Программы
Понимаю, что далеко не все пользователи разделяют мою тягу к прописыванию команд и скриптов, а потому я приготовил для вас альтернативные способы, а именно посредством всевозможного софта – специальных программ, файловых менеджеров и текстовых редакторов.
Менеджеры
Я получал много сообщений о том, какой удобный, прекрасный и многофункциональный менеджер Total Commander (признаюсь, недолюбливаю), вот и им тоже можно не напрягаясь соединить txt файлы в один:
- Выделить первый «кусочек» в папке.
- Зайти в меню «Файл» и запустить действие «Собрать…» (в старых версиях «Склеить»).
- Указать путь к будущему «пирогу» и нажать OK.
Мне больше по душе Far Manager, поэтому дальше я расскажу, как объединить файлы в нём. Чтобы склеить файлы при помощи менеджера Far, нужно:
- Выделить исходники.
- Нажать клавишу F5.
- Придумать и написать имя будущего документа.
- Из списка существующих файлов выбрать значение «Добавить».
- Подтвердить клавишей Enter.
Программы
Друзья, для начала коротко о Notepad ++, в нём также можно объединить файлы, но для этого придётся установить специальный плагин Combine. Он позволит склеить выбранные «кусочки», добавить им имена и вставить между ними строки.
Много хорошего могу сказать о программе TXTcollector. Она помогает комфортно добиться желаемого, но её придётся инсталлировать на ПК, после чего останется запрятать все «кусочки» в одну директорию, указать в программе путь к той папке, задать имя будущего «пирога» и место его сохранения, настроить наличие разделений (чёрточки или другие символы) и нажать кнопку Combine… для старта склеивания.
Ещё могу отметить программы File Joiner и WinMerge (тот же принцип), причём последняя позволяет не только склеить файлы, но и сравнить их содержимое.
Другие ОС
Как и обещал, коротко остановимся на слиянии текстовых файлов и в других операционных системах, например, для Mac OC мне известна программа DiffMerge, позволяющая также и сравнивать и объединять документы. А ещё в той же ОС несколько маленьких файлов превратить в один большой можно посредством использования утилиты textutil (запускается через терминал) и команды cat.
Объединить разрозненные txt файлы в один общий можно и в Linux. Происходит это примерно тем же образом, что и через командную строку в Windows. Только в Linux «исполнитель» команд зовётся «Терминал», а в него нужно вписать словосочетание cat имя1 имя2…имена всех имя выходного документа. Если адаптировать к нашему случаю, то получится примерно так cat 1.txt 2.txt itog.txt.
Заканчивая повествование, хочется сказать несколько ободряющих слов неопытным пользователям, которые решили самостоятельно разобраться в том, что такое «конкатенация». Дерзайте! Вы — молодцы! Таинственные и непонятные понятия только на первый взгляд выглядят страшно. В реальности они могут обозначать что-то совсем безобидное, например, конкатенация – это банальное объединение файлов. Писать скрипты и команды для cmd тоже не сложно, если знать основные принципы. А уж разобраться с любой программой можно за каких-то 5 или 10 минут. Главное – это ваше непоколебимое желание, тяга к новым знаниям и капля упрямства.
Повествование получилось довольно длинным, но надеюсь, полезным. До свидания.
Download Article
Download Article
This wikiHow teaches you how to combine multiple text files into a single new file using the Windows command prompt. The simplest way to do this is to place all of the files that need to be joined into a single folder and then run the joining command from that folder.
-
1
Right-click the Start
button and select File Explorer. The Start menu is usually at the bottom-left corner of the screen.You’ll want the files to be in the same folder to make things easier from the command prompt. If the files are scattered in multiple locations, make sure you copy them to a single folder first.
Make sure all of your text files end with a blank line (or the dividing text of your choice) to make it clear where each section begins.
-
2
Open the folder in which the text files are saved. Start by opening the This PC or Computer directory in the right panel, and then browse to the folder where you’ve saved your files. Once you open the folder, you should see your text files in the right panel.
Advertisement
-
3
Press ⇧ Shift as you right-click a blank area of the right panel. A context menu will expand.
-
4
Click Open command window here. This opens a command prompt window that’s already set to the current directory.
- If you enabled Windows PowerShell, you’ll have to click Open PowerShell window here instead.
-
5
Type copy *.txt newfile.txt at the prompt. Replace newfile.txt with the name of the file you want to create (e.g., mergedfiles.txt).
-
6
Press ↵ Enter to join the files. This creates a new file with containing the contents of all text files in the current folder.[1]
- Once you’ve verified that your output file looks how you’d like, you can delete the files you no longer need.
Advertisement
Add New Question
-
Question
Why am I getting extra copies of every file?
Matt McCombs
Community Answer
You may have your output set to the same file type as your inputs.This would cause the program to read the output file after its initial creation and add in copies of the previously merged documents.
-
Question
I have merged text files into one, but the prompt included the files in random order. Can it also merge files in an ordered fashion?
If you have three files, A.TXT, B.TXT and C.TXT and you want to combine them in the order CAB in the file CAB.TXT, you can use the copy command as follows: copy C.TXT+A.TXT+B.TXT CAB.TXT.
-
Question
How do I separate the content of text files from one another?
You can take the text from the other ones, cut them and paste them into another text editing program, or you could just leave it alone and let them stay.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
Thanks for submitting a tip for review!
About This Article
Article SummaryX
1. Open File Explorer.
2. Open the folder that contains the text files.
3. Press Shift and right-click in the folder.
4. Click Open command window here.
5. Type copy *.txt newfile.txt.
6. Press Enter.
Did this summary help you?
Thanks to all authors for creating a page that has been read 733,565 times.