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

Есть несколько случаев, когда вам может понадобиться объединить несколько текстовых файлов(text file) в один  текстовый файл(text file) . Например, вы можете получить компакт-диск, содержащий сотни текстовых файлов(text file) , расположенных в разных каталогах, которые вам необходимо объединить в один файл для импорта в Excel и т. д.

Это также полезно, если у вас есть файлы сетевых журналов(network log) , файлы журналов сервера или журналы резервного копирования, которые вы хотите объединить для целей интеллектуального анализа или анализа данных(mining or data analysis) . Существует несколько различных способов объединения текстовых файлов, и результаты немного отличаются в зависимости от выбранного вами метода.

В этой статье я напишу о нескольких способах объединения текстовых файлов, чтобы, если один способ не(method doesn) сработал, можно было попробовать что-то другое.

Способ 1 — Командная строка

Если вы можете использовать командную строку(command prompt) , то есть несколько простых команд, которые вы можете использовать для быстрого объединения целой группы текстовых файлов. Преимущество использования командной строки(command prompt) в том, что вам не нужно устанавливать какие-либо сторонние программы. Если вам нужно небольшое руководство по использованию командной строки(command prompt) , ознакомьтесь с моим руководством(s guide) для начинающих по использованию командной строки(command prompt) .

Кроме того, поскольку командная строка(command line) может принимать несколько параметров, вы действительно можете создать довольно сложную команду для фильтрации и сортировки(filter and sort) файлов, которые вы хотите включить в процесс присоединения(joining process) . Я объясню простейшую команду, но также рассмотрю несколько примеров, чтобы показать вам, как делать более сложные вещи.

Во- первых, откройте проводник Windows(Windows Explorer) и перейдите в каталог, где находятся ваши текстовые файлы. Если файлы хранятся во многих подпапках, перейдите в родительский каталог(parent directory) . Теперь нажмите и удерживайте CTRL + SHIFT , а затем щелкните правой кнопкой мыши любое пустое место в окне проводника(Explorer window) .

открыть командное окно здесь

Это откроет командное окно(command window) , которое уже настроено на каталог, в котором вы находились. Теперь все, что нам нужно сделать, это ввести команду. Как вы можете видеть выше, у меня есть три текстовых документа в папке вместе с парой папок. Если бы я только хотел объединить текстовые файлы в этой одной папке, я бы выполнил эту команду:

for %f in (*.txt) do type “%f” >> c:\Test\output.txt

Говоря языком программирования, это простой цикл FOR , который перебирает все файлы, заканчивающиеся на (FOR).TXT , и выводит их в файл с именем output.txt .

объединить txt cmd

Как вы можете видеть выше, цикл просто запускает отдельную команду для каждого текстового файла(text file) , который он находит в каталоге. Обратите внимание: если у вас есть текстовый файл(text file) , но он имеет другое расширение, такое как .log или .dat(.log or .dat) и т. д., вы можете просто изменить значение *.txt в команде. Также стоит отметить, что вывод должен быть в другом месте, чем текущий каталог, иначе он добавит выходной файл(output file) к себе, поскольку он также является текстовым файлом(text file) .

Теперь предположим, что у вас есть текстовые файлы, расположенные не в одной папке, а во многих подпапках. В этом случае мы можем добавить в команду параметр, который укажет ей рекурсивно искать текстовые файлы в любых подпапках текущего каталога.

for /R %f in (*.txt) do type “%f” >> c:\Test\output.txt

Вы заметите параметр /R сразу после оператора for. Теперь, когда я запускаю команду, вы увидите, что она находит пару дополнительных текстовых файлов в трех каталогах, которые находятся в одном каталоге.

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

Как обычно с командной строкой(command prompt) , на самом деле есть еще одна команда, которая позволяет вам делать то же самое, что и  оператор FOR выше. (FOR)Команда на самом деле намного проще(lot simpler) , и если она у вас работает нормально, вы можете использовать ее вместо описанного выше метода.

copy *.txt output.txt

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

Эта команда работает хорошо, но у нее не так много параметров, как у предыдущей команды. Например, он не позволит вам рекурсивно искать во вложенных папках.

Способ 2 — TXTColector

TXTCollector — это бесплатный инструмент для слияния текстовых файлов с приличным набором функций. Он очень прост в использовании и может быть настроен для работы несколькими различными способами.

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

Сначала введите или скопируйте(type or copy) и вставьте путь(folder path) к папке(Folder) в поле «Папка» вверху или просто нажмите кнопку « Обзор папок(Browse Folders)  » и выберите папку с текстовыми файлами. Затем вы можете выбрать, какой тип файлов вы хотите объединить.

По умолчанию TXTCollector ищет все файлы TXT и объединяет их. Однако вы можете выбрать из списка и объединить(list and combine) или объединить несколько файлов CSV , BAT , HTM , LOG , REG , XML и INI в один!

Установите флажок Включить подпапки(Include subfolders) , если вы хотите, чтобы TXTCollector рекурсивно просматривал каждую подпапку основной папки. TXTCollector точно покажет вам, сколько файлов он нашел в каталоге.

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

Далее вы можете выбрать разделитель, который будет отображаться между каждым объединяемым файлом. Это приятная функция, которую вы не получите(t get) с помощью метода командной строки(command line method) . Либо вы можете выбрать из выпадающего меню, либо вы можете просто ввести все, что хотите, в поле.

По умолчанию программа помещает имя каталога(directory name) , имя файла(file name) и разделитель между каждым файлом. Если вы хотите объединять файлы непрерывно без перерыва между файлами, установите флажки «Без разделителя(No Separator) », «Без имени файла( No Filename) » и «Без возврата каретки»(No Carriage Returns) .

объединить несколько файлов txt

Затем у вас будет выбор: добавлять пробел(space character) между файлами или нет. Крутая вещь в TXTCollector заключается в том, что вы действительно можете настроить его. Если вы нажмете ссылку внизу под названием « Расширения и разделители(Extensions and Separators) », вы сможете добавить свои собственные расширения в TXTcollector .

Отредактируйте файл extensions.txt , расположенный в каталоге данных приложения TXTCollector(TXTCollector application) . Обратите внимание, что TXTcollector обрабатывает только текстовые(plain text) файлы, независимо от того, какое расширение используется. Поэтому он не может объединять несколько файлов XLS , например, если они не сохранены как обычный текст(plain text) .

Единственным ограничением программы является то, что она может одновременно объединять только 32 765 текстовых файлов. Если у вас их больше, вы можете объединить это количество в один, а затем объединить большой с большим количеством меньших, до 32 765!

В целом, очень простое, но мощное бесплатное приложение(freeware app) для объединения нескольких текстовых файлов. Надеюсь(Hopefully) , эти два метода будут работать для большинства людей. Если вы столкнулись с более сложной ситуацией, не стесняйтесь оставлять комментарии, и я постараюсь помочь.

Кроме того, обязательно ознакомьтесь с другим моим сообщением о том, как объединить несколько презентаций PowerPoint . Наслаждаться!



About the author

Я инженер-программист с более чем 15-летним опытом работы с Microsoft Office и Edge. Я также разработал несколько инструментов, используемых конечными пользователями, например, приложение для отслеживания важных медицинских данных и детектор программ-вымогателей. Мои навыки заключаются в разработке элегантного кода, который хорошо работает на различных платформах, а также в отличном понимании взаимодействия с пользователем.



Related posts