Показать полную графическую версию : Слияние,склеивание большого кол-ва текстовых файлов в один.
Есть большое количество текстовых файлов в папке.
Как лучше,быстрее и качественнее склеить такое кол-во файлов средствами .bat
Можно и .vbs.
Чтобы не было косяков,как иногда бывает например в Total Commander в виде накладок текста и т.д.
serg515, тогда Вам нужно а) предоставить образцы файлов, упаковав их в архив, б) описать, в каком именно порядке они должны быть «склеены», в) описать на предоставленных образцах, что подразумевается под «косяков,как иногда бывает например в Total Commander в виде накладок текста и т.д.».
тогда Вам нужно а) предоставить образцы файлов, упаковав их в архив, б) описать, в каком именно порядке они должны быть «склеены», в) описать на предоставленных образцах, что подразумевается под «косяков,как иногда бывает например в Total Commander в виде накладок текста и т.д.». »
склеены в данном случае, не обязательно по очереди.
пример:
файл 1
текст1текст2текст3
текст4текст5
текст6текст7текст8текст9
файл 2
текст10
текст11текст12текст13
текст14текст15текст16
файл 3
текст17текст18
текст19
текст20текст21текст22
результат.
чтобы хотя бы так не было:
текст1текст2текст3текст4текст5
текст6текст7текст8текст9
текст10
текст12текст13
текст14текст15текст16
текст18
текст19
текст20текст21текст22
а было:
текст1текст2текст3
текст4текст5
текст6текст7текст8текст9
текст10
текст11текст12текст13
текст14текст15текст16
текст17текст18
текст19
текст20текст21текст22
serg515, повторяю:
упаковав их в архив »
— и образцы, и как должно быть, и как не должно быть.
DJ Mogarych
01-11-2020, 10:44
powershell:
gc "C:\temp\combining\*.txt" > "C:\temp\combined.txt"
gc »
Это, конечно, хороший вариант, но таки Iska прав, необходимы образцы, для определения кодировки, как минимум...
Зачастую проще увидеть файл, чем вытягивать всю информацию от задающих вопросы, "в час по чайной ложке"... :)
Кстати, в данном случае, для ускорения процесса, лучше использовать -raw
Кодировка, наличие/отсутствие BOM, тип конца строки. И наличие/отсутствие символа конца строки в конце последней строки файлов — и как с этим поступать.
и образцы, и как должно быть, и как не должно быть. »
Foreigner
01-11-2020, 15:02
(Get-Content *.txt | Out-String).Trim() | Set-Content file.txt -NoNewLine
Исходя из примеров в архиве. Т.е. результирующий файл без заключительного переноса строки.
megaloman
01-11-2020, 17:58
>nul copy /b Z:\Box_In\All\*.txt Z:\Box_In\summ.TXTСумма длин файлов равна длине суммарного файла. Можно просто запустить в коммандной строке. Исходные файлы и суммарный файл должны быть либо в разных папках, либо иметь разное расширение (маску)
Foreigner, очень местячковая магия с Out-String, а за Trim вас вообще надо расстрелять
megaloman, в общем случае объединять текст в двоичном режиме - плохая идея из-за возможных BOM и EOF
powershell:
Код:
gc "C:\temp\combining\*.txt" > "C:\temp\combined.txt" »
на плохо сработало,только результирующий файл получился в два раза больше размером чем должен был быть..
Код:
>nul copy /b Z:\Box_In\All\*.txt Z:\Box_In\summ.TXT »
к сожалению в некоторых строках накладка и обрезка части текста.
Код:
(Get-Content *.txt | Out-String).Trim() | Set-Content file.txt -NoNewLine
»
пока нормально вроде без косяков.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.