PDA

Показать полную графическую версию : [решено] Копирование всех строк из множества файлов одного каталога в один выходной файл


FCSMoff
22-05-2015, 12:16
Всем привет!

Честно говоря, всегда были проблемы с командной строкой, поэтому прошу о помощи.
Задача, в принципе, тривиальная, но для меня оказалась сложной.

Задача такая.
Имеется множество однотипных текстовых файлов в одном каталоге. Необходимо создать BAT файл, при помощи которого можно скопировать все строки из этих файлов в один выходной файл .

Заранее благодарю!

Iska
22-05-2015, 12:27
@copy /b "C:\Песочница\072\*.txt" "C:\Песочница\072\Result.tmp" && ren "C:\Песочница\072\Result.tmp" "Result.txt"

FCSMoff
22-05-2015, 14:29
Iska, спасибо, но пока выдает "синтаксическая ошибка в имени файла, имени папки или метке тома". Естественно, я все переименовал под себя.
Поясню еще раз, что требуется: каждый исходный txt файл содержит 1 или несколько строк текста. Надо скопировать содержимое каждого из таких файлов в один выходной файл.

Iska
22-05-2015, 14:31
Естественно, я все переименовал под себя. »
Покажите Ваш код. Покажите скриншот командной строки с сообщением об ошибке.

Поясню еще раз, что требуется: каждый исходный txt файл содержит 1 или несколько строк текста. Надо скопировать содержимое каждого из таких файлов в один выходной файл. »
Именно это и делает вышеприведённый код.

FCSMoff
22-05-2015, 14:50
Iska,@copy /b "C:\Users\v.glebov\Documents\CDR_files\MVNO_Komi\*.txt" "C:\Users\v.glebov\Documents\CDR_files\CDR_out.tmp && ren "C:\Users\v.glebov\Documents\CDR_files\CDR_out.tmp" "CDR_out.txt"



*

gora
22-05-2015, 15:01
FCSMoff, пропустили одну кавычку. Посмотрите пост коллеги Iska внимательно.

FCSMoff
22-05-2015, 15:05
gora, Iska, Все, нашел, виноват:) Спасибо огромное! Сейчас все ОК:)))

FCSMoff
25-05-2015, 09:31
Iska, подскажите, пожалуйста, комбинация символов && что должна выполнять? Дело в том что выходным файлом по сути является файл tmp, в txt ничего не сформировалось, кроме самого файла.

Iska
25-05-2015, 11:33
комбинация символов && что должна выполнять? »
Исполнение следующей команды только в том случае, если предыдущая вернула нулевой код возврата (что обычно свидетельствует о корректном исполнении предыдущей команды). В данном случае — если были найдены *.txt файлы и успешно скопированы в файл «Result.tmp».

Дело в том что выходным файлом по сути является файл tmp, в txt ничего не сформировалось, кроме самого файла. »
Занятно. Покажите Ваш код.

FCSMoff
25-05-2015, 11:45
Iska, вот он выше написан: @copy /b "C:\Users\v.glebov\Documents\CDR_files\MVNO_Komi\*.txt" "C:\Users\v.glebov\Documents\CDR_files\CDR_out.tmp" && ren "C:\Users\v.glebov\Documents\CDR_files\CDR_out.tmp" "CDR_out.txt"

Сейчас я изменил этот код и сделал отправку содержимого файлов txt напрямую в выходной txt файл:
@copy /b "C:\Users\v.glebov\Documents\CDR_files\MVNO\*.txt" "C:\Users\v.glebov\Documents\CDR_files\CDR_out.txt"

Iska
25-05-2015, 13:42
FCSMoff, проверил на Вашем коде. У меня работает:
http://i.imgur.com/pS899lm.png

Сейчас я изменил этот код и сделал отправку содержимого файлов txt напрямую в выходной txt файл:
@copy /b "C:\Users\v.glebov\Documents\CDR_files\MVNO\*.txt" "C:\Users\v.glebov\Documents\CDR_files\CDR_out.txt" »
Тоже гоже. Главное, чтобы результирующий *.txt файл не находился в том же каталоге, что и исходные *.txt файлы.

FCSMoff
25-05-2015, 14:00
Iska, в любом случае, еще раз спасибо:)




© OSzone.net 2001-2012