Ниже я использую две команды для объединения нескольких файлов из разных каталогов:

  1. Способ 1

    введите «C:\folder1\file1.txt» «C:\folder2\file2.txt»> output.txt

  2. Способ 2

    скопируйте "C:\folder1\file1.txt"+"C:\folder2\file2.txt" output.txt

Однако выходной файл в методе 1 содержит EOF в конце каждого отдельного файла. Как избавиться от EOF?

2 ответа2

3

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

E:\Work\>for %x in (1 2 3 4) do echo %x > %x.txt

        E:\Work\>echo 1   1>1.txt

        E:\Work\>echo 2   1>2.txt

        E:\Work\>echo 3   1>3.txt

        E:\Work\>echo 4   1>4.txt

Проверить создание тестового файла

E:\Work\>dir *.txt

        Directory of E:\Work\

        2017-04-26  02:53 PM                 5 1.txt
        2017-04-26  02:53 PM                 5 2.txt
        2017-04-26  02:53 PM                 5 3.txt
        2017-04-26  02:53 PM                 5 4.txt

Объединить файлы

E:\Work\>copy /b ?.txt concatenation.txt

        1.txt
        2.txt
        3.txt
        4.txt
                1 file(s) copied.

Проверить создание объединенного файла

E:\Work\>dir *.txt

        Directory of E:\Work\

        2017-04-26  02:53 PM                 5 1.txt
        2017-04-26  02:53 PM                 5 2.txt
        2017-04-26  02:53 PM                 5 3.txt
        2017-04-26  02:53 PM                 5 4.txt
        2017-04-26  02:54 PM                20 concatenation.txt

Проверьте правильность содержимого объединенных файлов

E:\Work\>type concatenation.txt

        1
        2
        3
        4
1

Для меня это метод 2 с COPY который вызывает добавление EOF, а не способ TYPE . Вы можете указать COPY копировать файлы в двоичном виде с флагом /B Тогда на выходе будут именно файлы и ничего более.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .