Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Сравнение текста из фаилов А и Б


Автор: Prokazza 8.7.2010, 10:57
Добры день. У меня есть три текстовых файла со списком мыл, мне нужно брать из файла А мыло проверять наличие его в файле Б и В, если оно есть в файле Б то записывать его в фаил Г, если оно есть в файле В то записывать его в фаил Д а если его нету ни в Б ни в В то записывать его в фаил Е.
Как это можно реализовать в батнике?

Автор: Akina 8.7.2010, 10:59
Гм... а ЗАЧЕМ это реализовывать именно в батнике?

Автор: Prokazza 8.7.2010, 11:06
под рукой только он

Автор: Akina 8.7.2010, 11:53
У тебя голый ДОС, да к тому же неполный?

Автор: Prokazza 8.7.2010, 11:59
нету  меня винда, я просто думал, что через батник будет проще. Мне по сути без разницы как. Главное, что бы работало.

Автор: Akina 8.7.2010, 12:32
Операция одноразовая? или регулярная?

Автор: Prokazza 8.7.2010, 12:44
Ну нужно все мыла из файла А перелопатить...

Автор: Akella 9.7.2010, 11:51
Prokazza, ты не ответил на вопрос:

Цитата(Akina @  8.7.2010,  12:32 Найти цитируемый пост)
Операция одноразовая? или регулярная?



это значит, что тебе это нужно сделать только один раз или нужно выполнять раз в день или раз в неделю/месяц... может стоит заказать на фрилансе программу?

Автор: Дрон 9.7.2010, 16:52
Мне кажется, что это можно через команду findstr реализовать.
Правда, не совсем понятно что там за файлы.

Автор: wester 9.7.2010, 18:22
файлы то большие ?
и в файлах только мыла, или еще текст?

Автор: Данкинг 9.7.2010, 18:57
Зачем батник? smile Это на любом языке можно сделать куда удобнее.

Автор: wester 9.7.2010, 19:06
и мне кажется, что bat не предназначен для работы с обработкой больших обьемов информации.
хотя может быть я и ошибаюсь

Автор: 01MDM 9.7.2010, 21:43
При условии, что в файлах одна строчка один адрес:
Код

@echo off
for /f "tokens=*" %%i in ('type file_a.txt') do (
    
    1>nul findstr %%i file_b.txt && 1>>file_d.txt echo %%i || (
    1>nul findstr %%i file_c.txt && 1>>file_e.txt echo %%i || (
    1>>file_f.txt echo %%i
    )) 
)


Где-то так. Где: 
А - file_a.txt
Б - file_b.txt
В - file_c.txt

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)