Объединение нескольких файлов в один без помощи специальных программ. Как объединить текстовые файлы в Windows Объединение файлов в командной строке

Здравствуйте, друзья. В последнее время вы меня часто спрашиваете, как объединить txt файлы в один. О том на сон грядущий и поговорим (не знаю, как у вас, а у меня за окном уже стемнело). Вдохновившись, я подобрал для вас несколько самых простых и действенных способов для Windows и прочих операционных систем.

Объединить небольшие txt-файлы в один большой документ можно разными способами — посредством написания скриптов в бат-файлах или команд в cmd-строке. А также на помощь придут всевозможные программы.

Конкатенация

Среди огромного количества поступивших на данную тему обращений имелся и вопрос: «что такое конкатенация текстовых файлов?» Конкатенация (звучит загадочно, правда) – это не что иное, как объединение нескольких документов заданного формата в один, то есть последовательный перенос содержимого всех документов в один с расположением непосредственно друг за другом.

Представьте, у вас имеется много txt файлов (чтобы вникнуть в суть рассмотрим на примере 3):

  1. В первом написано МАМА.
  2. Во втором – ПАПА.
  3. А в третьем – Я.

После проведения конкатенации вы получите всего один документ с текстом МАМАПАПАЯ, что и является сутью всего процесса. Конечно, правильно подобранные решения достижения поставленных целей подразумевают возможность добавления между добавленными фрагментами разделителей – пробелов или строк.

Возникает резонный вопрос «зачем это нужно?». Например, объединить главы, расположенные в отдельных файлах, в одну книгу. Или собрать ежемесячные отчёты в один годовой. Ситуаций может быть бесчисленное множество.

Windows

Сначала расскажу, как объединить несколько имеющихся файлов txt в один в родном и привычном многим Windows. Затем кратко остановимся на решениях и для некоторых других ОС. Итак, в системе, рождённой корпорацией «Майкрософт», есть несколько способов быстро соединить все заданные файлы-кусочки в один целый текстовый «пирог».

Онлайн-сервисы

Самый беспроблемный способ объединить требуемые файлы формата txt в один файл, на мой взгляд, это воспользоваться одним из многочисленных онлайн-сервисов. Мной опробован и положительно оценён ресурс Filesmerge , функционал которого позволяет склеивать не только «текстовики», но и JPG, PDF, Word и Excel-файлы. А уж txt-пироги можно получить не только из исходников того же формата, но и из text, lst, log, euc, me, err, ans, dsc, asc и eml-кусочков (мог пару форматов пропустить). Для объединения нужно:

  1. Выбрать файлы с компьютера или интернета, для чего предусмотрены соответствующие окошки.
  2. Настроить нюансы объединения в виде добавления суффиксов, префиксов и разделителей, а также подтверждения выходного формата.

Bat-файл

Предложения онлайн-сервисов хотя и соблазняют своей простотой, но для меня они не интересны, так как я предпочитаю решать задачи своими силами. В данном случае мне интереснее объединить разрозненные txt-файлы в один общий посредством создания bat-файла с соответствующей командой. Например, так:

  1. Дано: 2 файла – 1.txt и 2.txt.

  1. В первом имеется содержимое МАМА.

  1. Во втором – ПАПА.

  1. Создаём ещё один текстовый файл (назову его 9.txt) посредством стандартного средства Windows под названием «Блокнот».

  1. Вписываем в него команду:

copy /b 1.txt + 2.txt ITOG.txt

    1. Через «Файл» сохраняем документ как 9.bat.

  1. Закрываем «Блокнот» и видим, что в папке появился «батник» с именем 9.bat.

  1. Запускаем его и пожинаем плоды в виде исчезнувшего 9.txt и появившегося ITOG.txt.

  1. Раскрываем ITOG.txt и обнаруживаем слияние двух текстов МАМАПАПА.

Скрипт, написанный нами, командует системе выполнить задание из 9.txt, а именно сложить содержимое 1 и 2.txt, записать его в ITOG.txt, а 9.txt удалить по завершении.

Слияние файлов через bat-документы довольно простое и интересное занятие, если знать . Возможны такие варианты написания:

  1. Тот же результат: copy *.txt all.txt
  1. Разделит на части:

Открыв 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 файлы в один:

  1. Выделить первый «кусочек» в папке.
  2. Зайти в меню «Файл» и запустить действие «Собрать…» (в старых версиях «Склеить»).
  3. Указать путь к будущему «пирогу» и нажать OK.

  1. Выделить исходники.
  2. Нажать клавишу F5.
  3. Придумать и написать имя будущего документа.
  4. Из списка существующих файлов выбрать значение «Добавить».
  5. Подтвердить клавишей 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 минут. Главное – это ваше непоколебимое желание, тяга к новым знаниям и капля упрямства.

Повествование получилось довольно длинным, но надеюсь, полезным. До свидания.

Бывает такое, что нужно стандартными средствами Windows объединить необходимое количество файлов в один. Мало кто знает, что такой функционал доступен в любой редакции виндоус всего 1 строчкой кода. Можно склеить файлы любого тестового содержания, например *.txt, *.css, *.js и любые другие. Очень удобно автоматизировать рабочий процесс без рутинной ручной работы.

Как объединить файлы в один

В данном случае нам поможет справится с этой задачей команда copy . Представим, что нам необходимо объединить несколько css файлов нашего веб-сайта в один файл:

Copy "*.css" /b "style.css"

Параметр /b необходим для того, чтобы файлы объединялись как бинарные, в противном случае в самом конце файла добавляется лишний для нас символ. Команда copy содержит в себе многие другие параметры. Получить весь список можно выполнив команду copy /? но нам достаточно ключа /b .

Файлы склеиваются в порядке в котором их видно по команде dir . Если важен порядок файлов, необходимо предварительно их переименовать добавив в начало файла цифровой индекс.

Команда COPY используется для копирование одного или нескольких файлов в командной строке Windows.

Формат командной строки:

COPY источник [+ источник [+ ...]] [результат ]

источник - Имена одного или нескольких копируемых файлов.

/A - Файл является текстовым файлом ASCII.

/B - Файл является двоичным файлом.

/D - Указывает на возможность создания зашифрованного файла

результат - Каталог и/или имя для конечных файлов.

/V - Проверка правильности копирования файлов.

/N - Использование, если возможно, коротких имен при копировании файлов, чьи имена не удовлетворяют стандарту 8.3.

/Y - Подавление запроса подтверждения на перезапись существующего конечного файла.

/-Y - Обязательный запрос подтверждения на перезапись существующего конечного файла.

/Z - Копирование сетевых файлов с возобновлением. Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

По умолчанию требуется подтверждение перезаписи существующих файлов, если только команда COPY не выполняется в пакетном файле.

Команда copy позволяет объединить несколько файлов в один. Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...".

По умолчанию, используется копирование файлов как двоичных "один в один", поэтому параметр /B можно не задавать. Параметр /A необходим, если в результатах копирования должны обрабатываться специальные символы, применяемые в текстовых файлах.

Ключ /N используется для совместимости с программами MS-DOS, не поддерживающих длинные имена файлов.

Примеры использования COPY:

copy /? - выдать справку об использовании команды.

copy file1.txt file2.txt - копировать файл file1.txt в файл file2.txt в текущем каталоге. Если файл file2.txt существует, то пользователю будет выдан запрос на подтверждение перезаписи существующего файла.

copy /Y file1.txt file2.txt - то же самое, что и в предыдущем примере, но запрос на подтверждение перезаписи существующего файла не выводится.

copy *.txt D:\oldfiles\*.txt - копирование всех файлов с расширением txt из текущего каталога в каталог D:\oldfiles

copy file1.txt + file2.txt +file3.txt file123.txt - копировать содержимое файлов file1.txt , file2.txt и file3.txt в файл file123.txt

copy C:\ndldr "D:\My Backup\system\ntldr" - при использовании имен файлов или каталогов, содержащих пробелы, используются двойные кавычки.

COPY /V file.bin A:\saved.bin - выполнить копирование файла на дискету A: с проверкой результата.

    Команда COPY может применяться для копирования файлов с использованием стандартных устройств ввода-вывода:

Copy con myfile.txt - копирование с устройства con (console , консоль) в файл myfile.txt - т.е. ввод символов непосредственно с клавиатуры в файл. Для завершения ввода используется признак конца файла CTRL+Z (или нажатие F6)

copy NUL newfile.txt - копирование с фиктивного устройства nul в файл, т.е. создание пустого файла с именем newfile.txt

copy movie.avi nul - копировать файл на фиктивное устройство nul , т.е. просто чтение файла, иногда используемое в качестве средства тестирования носителей данных.

Часто возникает ситуация когда необходимо склеить несколько аудио или видео файлов в один файл. или объединить множество текстовых файлов в один общий файл. оказывается, сделать это можно без каких-либо специальных программ, только средствами Windows. предположим, что вам нужно склеить аудиокнигу, состоящую из многих mp3 файлов, в один mp3 файл. сначала, убедитесь, что все файлы правильно пронумерованы, поскольку склейка происходит именно в порядке нумерации файлов. лучше всего, чтобы файлы нумеровались в виде 01, 02 и так далее. тогда склейка точно будет выполнена в нужном порядке. теперь, создайте в папке с этими файлами обычный текстовый файл с именем «склейка медиа файлов.txt”. в этот файл впишите следующую строку:

copy /b *.mp3 «C:\United file.mp3»

затем, сохраните файл и измените расширение txt на cmd. теперь просто нажмите на этом файле Enter, произойдёт склейка всех файлов в один mp3 файл, и объединённый файл появится на диске C:. естественно, вы можете вместо диска C: указать в командном файле любой другой путь. однако, русские буквы в названии итогового файла использовать нельзя. лучше уже после склейки переименуйте его так, как вам нужно. такой файл хорош тем, что он склеивает только все mp3 файлы в той папке, в которой вы его запустили, любые другие типы файлов он игнорирует. аналогично, такой же файл вы можете использовать для склейки видеофайлов, скажем форматов avi, mp4, wmv и так далее. только в тексте файла измените расширение mp3 на avi или другое нужное. чтобы быстро подправить файл Склейка медиа файлов.cmd, просто откройте контекстное меню этого файла (щёлкните на нём правой кнопкой мыши) и выберите пункт «Изменить». файл откроется в Блокноте, и вы можете внести нужные изменения.

Для объединения нескольких текстовых файлов в один, сначала убедитесь, что в конце каждого текстового файла, которые вы хотите объединить в один, имеется пустая строка. если её там нет, то обязательно добавьте её. это необходимо, чтобы после склейки текст каждого объединяемого файла начинался с новой строки, а не прямо после последнего символа предыдущего файла. затем, правильно пронумеруйте все текстовые файлы и создайте в папке с этими файлами файл Склейка текста.cmd, как было описано выше. в текст файла впишите следующее:

copy /a *.txt «C:\United Text.txt»

и сохраните файл. после запуска этого файла на диске C: должен появиться итоговый файл, содержащий текст всех объединяемых файлов. пример приведён для файлов формата txt, но вы можете указать и другое расширение, скажем doc, rtf или docx, если вы объединяете текстовые файлы соответствующего формата.