1 (изменено: alexii, 2011-12-21 18:45:14)

Тема: CMD/BAT: Объединение .txt файлов с переносом строк

Есть скрипт который объединяет два фаилика, но при их объединении происходит соединение последний и первой строчки в одну строку, соответственно получается кривой файл. Как сделать перенос после последней строки?
1.txt

11
22

2.txt

11
55

получается такая ерунда:
final.txt

11
2211
55

скрипт:

@echo off
copy /b 1.txt + 2.txt final.txt

2 (изменено: !k, 2011-12-21 19:04:45)

Re: CMD/BAT: Объединение .txt файлов с переносом строк

Последняя строка в 1.txt не завершена переводом.

@echo off
echo:>CrLf.txt
copy /b 1.txt + CrLf.txt + 2.txt final.txt
del /q CrLf.txt

или

@echo off
(
    type 1.txt
    echo:
    type 2.txt
)>final.txt

3

Re: CMD/BAT: Объединение .txt файлов с переносом строк

Assassin, используйте тэг «code» для оформления кода на форуме. Я поправил Ваш пост.

OFF: !k, принято писать:

echo.

4 (изменено: Assassin, 2011-12-21 20:49:13)

Re: CMD/BAT: Объединение .txt файлов с переносом строк

!k, шикарно, работает, спасибо!
alexii, ясно, исправлюсь:P

5

Re: CMD/BAT: Объединение .txt файлов с переносом строк

Доброе время суток. Вы пишете объединение .txt файлов с переносом строк только для двух файлов, а если их больше - например 100. Не писать же их каждый? Подскажите пожалуйста как можно это осуществить.

6

Re: CMD/BAT: Объединение .txt файлов с переносом строк

copy /a "*.txt" "some.tmp" && ren "some.tmp" "some.txt"

Замечание относительно последней строки, не заканчивающейся символами переноса строки, остаётся в силе.

7

Re: CMD/BAT: Объединение .txt файлов с переносом строк

Спасибо за быстрый ответ.
Есть файлы - например:

1.txt

1
2
3

2.txt

4
5
6

3.txt

7
8
9

4.txt

10
11
12

5.txt

13
14
15

и т.д

После обработки твоим скриптом
copy /a "*.txt" "some.tmp" && ren "some.tmp" "some.txt"
Создается файл some.txt со строками

1
2
34
5
67
8
910
11
1213
14
15
и т.д

а надо

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
и т.д

Можно использовать и такой скрипт
copy /b *.txt  file.txt
результат один и тодже.

В этих скриптах

@echo off
echo:>CrLf.txt
copy /b 1.txt + CrLf.txt + 2.txt final.txt
del /q CrLf.txt

или

@echo off
(
    type 1.txt
    echo:
    type 2.txt
)>final.txt

выходит как надо, но здесь только для двух файлой.

8

Re: CMD/BAT: Объединение .txt файлов с переносом строк

41275jur, разве я непонятно выразился выше:

Замечание относительно последней строки, не заканчивающейся символами переноса строки, остаётся в силе.

?! Текстовый файл подразумевает наличие символов конца строки, в том числе и в последней. У Вас это не так.

Если у Вас все текстовые файлы такие, то сделайте предварительно:

for %%i in ("*.txt") do >>"%%i" echo.

а затем уже:

copy /a "*.txt" "some.tmp" && ren "some.tmp" "some.txt"