Как объединить файлы в командной строке
Обновлено: 21.11.2024
Но требование состоит в том, чтобы «объединить файлы того же дня в файл день_ГГГГ-ДД-ММ.txt». Я пользователь Linux, и пакетная обработка Windows для меня — ад. Это Windows XP.
Вы должны сообщить нам, нужно ли это делать в «настоящем» пакетном файле или доступен хост PowerShell/Windows Scripting. Для начала следует указать, какая версия Windows должна поддерживаться (минимальная/максимальная)
Я не предлагал cygwin, потому что думал, что вам нужно минимальное решение для фаззинга. Название вашего вопроса говорит о том, что вам нужно решение, основанное на механизмах Windows.
9 ответов 9
Команда типа Windows работает аналогично команде UNIX cat .
Пример 1. Объединение с именами файлов (при этом файлы file1.csv и file2.csv будут объединены для создания concat.csv)
Пример 2. Объединение файлов с шаблоном (при этом будут объединены все файлы с расширением csv и создан concat.csv)
При использовании звездочки (*) для объединения всех файлов. Пожалуйста, НЕ используйте одно и то же расширение для целевого файла (например, .csv). Должна быть какая-то разница в шаблоне, иначе целевой файл также будет учитываться при объединении
Кроме того, это самый неэффективный способ, потому что "тип" будет выполнять свою работу кусками примерно по 4 КиБ, что делает операцию невероятно медленной.
НЕ ИСПОЛЬЗУЙТЕ ОДИНАКОВОЕ РАСШИРЕНИЕ ДЛЯ КОНЕЧНОГО ФАЙЛА. Я просто подождал несколько минут, когда я запустил эту команду, пока не заметил, что она застряла в бесконечном цикле, добавляя целевой файл к себе и создавая постоянно растущий файл (достиг 15 ГБ, когда я заметил, что он застрял при попытке объединить 2 МБ файлы).
В большинстве случаев объединение файлов из пакетного файла выполняется с помощью «копирования».
Я попытался скопировать *.xyz all.bin, но результирующий файл all.bin содержал только подмножество файлов xyz в этом каталоге. Я не понимаю, почему он не включил их всех. Нужен ли синтаксис plus? Если это так, то это неудобно для большого количества файлов.
Я только что создал пример в соответствии с вашими требованиями, и он работал так, как ожидалось. Я создал «1.xyz», «2.xyz» и «3.xyz». Затем запустил «копировать *.xyz all.bin», и полученный «all.bin» содержал содержимое всех трех файлов. Поэтому я не знаю, почему у вас это не работает.
Также следует упомянуть оператор "/b" (двоичный). Использование его с текстовыми файлами также копирует заголовок спецификации (например, UTF8+BOM, UCS2+BOM) каждого файла вместе, что впоследствии приводит к серьезным осложнениям.
Поместите все файлы, которые необходимо скопировать, в отдельную папку, для удобства поместите их на диск c.
Откройте командную строку — windows>введите cmd>выберите командную строку.
Вы можете увидеть каталог, указывающий по умолчанию, например: C:[Folder_Name]>. Измените каталог, чтобы он указывал на папку, в которую вы поместили файлы для копирования, с помощью команды ' cd [Folder_Name] '.
После указания каталога введите 'dir', который покажет все файлы, присутствующие в папке, просто чтобы убедиться, что все на месте.
Если вы хотите объединить несколько файлов Word, Excel или текстовых файлов вместе, это можно сделать относительно легко и без дополнительных затрат. Выполните следующие действия для типа файла, который вы пытаетесь объединить.
Многим пользователям удобнее копировать и вставлять содержимое нескольких файлов в новый файл как форму слияния или комбинирования файлов. См. раздел Как копировать и вставлять текст в документ или другую программу.
Объединение документов Microsoft Word
Чтобы объединить документы Word, вы можете объединить эти документы в самом Microsoft Word. Для этого откройте первый файл в Microsoft Word и следуйте инструкциям для вашей версии Word. Шаги отличаются из-за различий между меню файлов и лентой Office.
Microsoft Word 2007 или более поздней версии (лента)
На ленте Word перейдите на вкладку «Вставка», нажмите стрелку вниз рядом с «Объект» и выберите параметр «Текст из файла», как показано ниже.
Выберите файл, который хотите объединить с текущим документом, и нажмите «Вставить». После завершения текст и другая информация из документа будут объединены в текущий документ. Эти шаги можно выполнять сколько угодно раз, если вы хотите объединить несколько файлов.
Если вы хотите объединить несколько файлов одновременно, вы можете выбрать несколько файлов, удерживая нажатой клавишу Ctrl и выбирая каждый файл, который хотите объединить.
Microsoft Word 2003 или более ранней версии (меню "Файл")
В Word нажмите "Инструменты" в верхнем меню и выберите параметр "Сравнить и объединить документы", как показано ниже.
Найдите документ, который хотите объединить. У вас есть возможность объединить выбранный документ с текущим открытым документом или объединить два документа в новый документ.Чтобы выбрать вариант слияния, щелкните стрелку рядом с кнопкой «Объединить» и выберите нужный вариант слияния. После завершения файлы объединяются.
Если вы хотите объединить несколько файлов одновременно, вы можете выбрать несколько файлов, удерживая нажатой клавишу Ctrl и выбирая каждый файл, который хотите объединить.
Объединение файлов Microsoft Excel
Чтобы объединить файлы Microsoft Excel, лучше всего сначала сохранить их в формате CSV. Откройте файлы Excel и в строке меню нажмите «Файл», затем «Сохранить как». В раскрывающемся списке Тип файла выберите CSV (с разделителями-запятыми) (*.csv) из списка.
Проделайте это для каждого файла Excel, который хотите объединить, а затем поместите все файлы CSV в одну папку. Для удобства поместите их в папку в корне диска C: (например, c:\csvfiles).
Откройте командную строку Windows и перейдите в папку, содержащую CSV-файлы. Введите dir, чтобы просмотреть файлы в папке и убедиться, что все файлы там.
Введите следующую команду, чтобы объединить все CSV-файлы в папке в новый CSV-файл с названием "newfile.csv" (можно использовать любое имя).
После создания нового файла откройте новый CSV-файл в Microsoft Excel и сохраните его как файл Excel.
Объединить текстовый (.txt) файл в командной строке Windows (MS-DOS)
Поместите все текстовые файлы, которые вы хотите объединить, в одну и ту же папку. Для удобства поместите их в папку в корне диска C: (например, c:\textfiles) и убедитесь, что папка содержит только текстовые файлы, которые вы хотите объединить.
Перед объединением текстовых файлов вы можете убедиться, что есть пустая строка или хотя бы один возврат каретки (нажатие Enter ), чтобы разделить каждый файл.
Откройте командную строку Windows и перейдите к папке, содержащей текстовые файлы. Введите dir, чтобы просмотреть файлы в папке и убедиться, что все файлы там.
Как объединить два файла в один
Введите следующую команду, чтобы объединить два текстовых файла в новый файл или перезаписать существующий файл.
Эта команда скопирует (объединит) содержимое файлов first.txt и second.txt в новый файл Third.txt.
Как объединить все текстовые файлы в один
Введите следующую команду, чтобы объединить все файлы TXT в текущем каталоге в файл с именем newfile.txt (можно использовать любое имя).
Теперь вы можете открыть текстовый файл и увидеть, как все объединено в один файл.
Объединить файл в командной строке Linux
Пользователи Linux могут объединять два или более файлов в один с помощью команды слияния или строки файлов с помощью команды вставки.
Объединить файлы PDF
Документы PDF также можно объединять. Для этого вы можете использовать полную версию Adobe Acrobat, но эта программа немного дорогая (несколько сотен долларов).
Еще один вариант — найти в Интернете бесплатную утилиту для объединения файлов PDF. Одна из лучших бесплатных утилит — PDF Split and Merge. Это онлайн-инструмент, который позволяет объединить два или более PDF-файла в один PDF-файл несколькими щелчками мыши. Вы также можете загрузить и установить версию программы Batch PDF Merger, которая стоит около 30 долларов США.
Эту услугу предлагают и другие бесплатные онлайн-утилиты. Однако, если в файлах PDF содержится какая-либо конфиденциальная информация, будьте осторожны при объединении их в Интернете. Мы рекомендуем вам использовать утилиту на вашем компьютере для этих типов слияния PDF-файлов, чтобы обеспечить конфиденциальность конфиденциальных данных.
Откройте диалоговое окно "Объединение", чтобы выполнить трехстороннее или двустороннее слияние из командной строки.
Вы можете найти исполняемый файл для запуска GoLand в каталоге установки под bin . Чтобы использовать этот исполняемый файл в качестве средства запуска командной строки, добавьте его в системный путь PATH, как описано в интерфейсе командной строки.
Чтобы выполнить трехстороннее слияние, необходимо указать пути для двух измененных версий файла, базовой версии (общее происхождение обеих измененных версий) и выходного файла для сохранения результатов слияния:
goland64.exe merge C:\MyProjectCopy\Readme.md C:\FriendsProjectCopy\Readme.md C:\Archive\Readme.md C:\MainProject\Readme.md
Не указывайте необязательную базовую версию, если вы хотите рассматривать текущее содержимое выходного файла как общее происхождение. В этом случае, если вывод представляет собой пустой файл, это фактически становится двусторонним слиянием.
По умолчанию GoLand не предоставляет средство запуска из командной строки. Сведения о создании сценария запуска для GoLand см. в разделе Интерфейс командной строки.
Чтобы выполнить трехстороннее слияние, необходимо указать пути для двух измененных версий файла, базовой версии (общее происхождение обеих измененных версий) и выходного файла для сохранения результатов слияния:
goland merge ~/MyProjectCopy/Readme.md ~/FriendsProjectCopy/Readme.md ~/Archive/Readme.md ~/MainProject/Readme.md
Не указывайте необязательную базовую версию, если вы хотите рассматривать текущее содержимое выходного файла как общее происхождение. В этом случае, если вывод представляет собой пустой файл, это фактически становится двусторонним слиянием.
Вы можете найти сценарий для запуска GoLand в каталоге установки под bin . Чтобы использовать этот сценарий в качестве средства запуска командной строки, добавьте его в системный путь PATH, как описано в интерфейсе командной строки.
Чтобы выполнить трехстороннее слияние, необходимо указать пути для двух измененных версий файла, базовой версии (общее происхождение обеих измененных версий) и выходного файла для сохранения результатов слияния:
goland.sh merge ~/MyProjectCopy/Readme.md ~/FriendsProjectCopy/Readme.md ~/Archive/Readme.md ~/MainProject/Readme.md
Не указывайте необязательную базовую версию, если вы хотите рассматривать текущее содержимое выходного файла как общее происхождение. В этом случае, если вывод представляет собой пустой файл, это фактически становится двусторонним слиянием.
В некоторых случаях вам может понадобиться объединить несколько текстовых файлов в один текстовый файл. Например, вы можете получить компакт-диск с сотнями текстовых файлов, расположенных в разных каталогах, которые необходимо объединить в один файл для импорта в Excel и т. д.
Это также полезно, если у вас есть файлы сетевых журналов, файлы журналов сервера или журналы резервных копий, которые вы хотите объединить для интеллектуального анализа или анализа данных. Существует несколько различных способов объединения текстовых файлов, и результаты будут несколько отличаться в зависимости от выбранного вами метода.
В этой статье я напишу о нескольких способах объединения текстовых файлов, чтобы, если один метод не сработал, вы могли попробовать что-то другое.
Способ 1 — Командная строка
Если вы умеете пользоваться командной строкой, то есть пара простых команд, которые можно использовать для быстрого объединения целой группы текстовых файлов. Преимущество использования командной строки в том, что вам не нужно устанавливать какие-либо сторонние программы. Если вам нужно небольшое руководство по использованию командной строки, ознакомьтесь с моим руководством для начинающих по использованию командной строки.
Кроме того, поскольку командная строка может принимать несколько параметров, вы действительно можете создать довольно сложную команду для фильтрации и сортировки файлов, которые вы хотите включить в процесс присоединения. Я объясню простейшую команду, но также рассмотрю несколько примеров, чтобы показать вам, как выполнять более сложные действия.
Во-первых, откройте проводник Windows и перейдите в каталог, в котором находятся ваши текстовые файлы. Если файлы хранятся во многих подпапках, перейдите в родительский каталог. Теперь нажмите и удерживайте CTRL + SHIFT, а затем щелкните правой кнопкой мыши любое пустое место в окне проводника.
Откроется командное окно, в котором уже указан каталог, в котором вы находились. Теперь все, что нам нужно сделать, это ввести команду. Как вы можете видеть выше, у меня есть три текстовых документа в папке вместе с парой папок. Если бы я только хотел объединить текстовые файлы в этой одной папке, я бы выполнил эту команду:
для %f в (*.txt) введите «%f» >> c:\Test\output.txt
На языке программирования это простой цикл FOR, который перебирает все файлы, заканчивающиеся на .TXT, и выводит их в файл с именем output.txt.
Как вы можете видеть выше, цикл просто запускает отдельную команду для каждого текстового файла, который он находит в каталоге. Обратите внимание: если у вас есть текстовый файл, но он имеет другое расширение, такое как .log или .dat и т. д., вы можете просто изменить значение *.txt в команде. Также стоит отметить, что выходной файл должен находиться в другом месте, чем текущий каталог, иначе он добавит выходной файл к себе, поскольку он также является текстовым файлом.
Теперь допустим, что у вас есть текстовые файлы, расположенные не только в одной папке, но и во многих подпапках. В этом случае мы можем добавить в команду параметр, который заставит ее рекурсивно искать текстовые файлы во всех подпапках текущего каталога.
для /R %f в (*.txt) введите «%f» >> c:\Test\output.txt
Вы заметите параметр /R сразу после оператора for. Теперь, когда я запущу команду, вы увидите, что она находит пару дополнительных текстовых файлов в трех каталогах, которые находятся в одном и том же каталоге.
Как обычно в командной строке, на самом деле есть еще одна команда, которая позволяет вам делать то же самое, что и оператор FOR выше. Команда на самом деле намного проще, и если она у вас работает нормально, вы можете использовать ее вместо описанного выше метода.
Эта команда работает хорошо, но у нее не так много параметров, как у предыдущей команды. Например, он не позволит вам выполнять рекурсивный поиск во вложенных папках.
Способ 2 – сборщик TXTC
TXTCollector — это бесплатный инструмент для слияния текстовых файлов с приличным набором функций. Он очень прост в использовании и может быть настроен для работы несколькими различными способами.
Сначала введите или скопируйте и вставьте путь к папке в поле «Папка» вверху или просто нажмите кнопку «Обзор папок» и выберите папку с текстовыми файлами. Затем вы можете выбрать, какой тип файлов вы хотите объединить.
По умолчанию TXTCollector ищет все файлы TXT и объединяет их. Однако вы можете выбрать из списка и объединить или объединить несколько файлов CSV, BAT, HTM, LOG, REG, XML и INI в один!
Отметьте флажок Включить вложенные папки, если вы хотите, чтобы TXTCollector рекурсивно просматривал каждую вложенную папку основной папки. TXTCollector точно покажет вам, сколько файлов он нашел в каталоге.
Далее вы можете выбрать разделитель, который будет отображаться между каждым объединяемым файлом. Это приятная функция, которую вы не получите с помощью метода командной строки. Либо вы можете выбрать из раскрывающегося меню, либо просто ввести все, что хотите, в поле.
По умолчанию программа помещает имя каталога, имя файла и разделитель между каждым файлом. Если вы хотите объединять файлы непрерывно, без перерыва между файлами, установите флажки «Без разделителя», «Без имени файла» и «Без возврата каретки».
После этого у вас будет возможность добавить пробел между файлами или нет. Крутая вещь в TXTCollector заключается в том, что вы действительно можете настроить его. Если вы нажмете ссылку внизу под названием «Расширения и разделители», вы сможете добавить свои собственные расширения в TXTcollector.
Отредактируйте файл extensions.txt, расположенный в каталоге данных приложения TXTCollector. Обратите внимание, что TXTcollector обрабатывает только текстовые файлы, независимо от того, какое расширение используется. Поэтому он не может объединять, например, несколько файлов XLS, если они не сохранены как обычный текст.
Единственным ограничением программы является то, что она может одновременно объединять только 32 765 текстовых файлов. Если у вас их больше, вы можете объединить это количество в один, а затем объединить большой с большим количеством меньших, до 32 765!
В целом это очень простое, но мощное бесплатное приложение для объединения нескольких текстовых файлов. Надеюсь, эти два метода будут работать для большинства людей. Если вы столкнулись с более сложной ситуацией, не стесняйтесь оставлять комментарии, и я постараюсь помочь.
Кроме того, обязательно ознакомьтесь с другим моим сообщением о том, как объединить несколько презентаций PowerPoint. Наслаждайтесь!
Основатель Online Tech Tips и главный редактор. Он начал вести блог в 2007 году и уволился с работы в 2010 году, чтобы вести блог на постоянной основе. Он имеет более чем 15-летний опыт работы в отрасли информационных технологий и имеет несколько технических сертификатов. Прочитать полную биографию Асема
Понравился ли вам этот совет? Если это так, загляните на наш собственный канал на YouTube, где мы рассказываем о Windows, Mac, программном обеспечении и приложениях, а также предлагаем множество советов по устранению неполадок и видео с практическими рекомендациями. Нажмите кнопку ниже, чтобы подписаться!
Читайте также: