Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно допилить BAT - парсер лога

Ответить
Настройки темы
CMD/BAT - [решено] Нужно допилить BAT - парсер лога

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: it_ptm
Дата: 21-03-2017
Описание: уточнение
Вложения
Тип файла: rar ATCpars2.rar
(742 байт, 13 просмотров)
Суть вопроса вот в чем:

Была такая задача, сделать парсер лога АТС.
Прога WinTarrif 32 пишет лог звонков.
Нужно было сделать считывание лога, bat-ом, подмену коротких номеров на Фамилию.
Это сделано.
Еще не реализована подмена мобильного и городского номера(

Но вот в чем вопрос, батник каждый раз читает лог с начала.

а как добавить функцию:
При запуске bata в cmd вопрос введите дату формата: dd/mm/yy
Чтобы bat искал строки с нужными датами потом осуществлял подмену короткого номера на фио и только потом был виден результат - Андреев called Иванов
И еще не знаю как реализовать чтобы бат отслеживал изменения в логе, допустим прога дописала данные, и bat их вывел.
Каждый раз бат перезапускать ну оч тоскливо, да и реальный лог длинный, и оч долго его читает, из за этого возникла идея с вводом времени

Прикреплю в архиве то что получилось.

Отправлено: 14:44, 21-03-2017

 

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Совсем никто не может посоветовать как допилить?(

Отправлено: 16:08, 27-03-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


it_ptm, а АТС у вас не позволяет создать адресную книгу и отдавать затем не телефонные номера, а их описания, т.е. имена абонентов (в случае, разумеется, если такой номер в адресной книге есть — иначе отдаётся номер)? Некоторые АТС это позволяют.

-------
Mikhail Zhilin


Отправлено: 17:25, 27-03-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата it_ptm:
Совсем никто не может посоветовать как допилить?( »
it_ptm, вопросов много возникает. Прежде всего в части, что до «допилить». Вот первые, но не последние:
  1. Как, откуда и каким образом Вы получаете файл log.txt?
  2. Почему Вы пытаетесь работать с неким логом, но не работаете напрямую с файлом базы данных CALLS.DBF посредством OLE DB?
  3. Можно использовать для запрошенных целей встроенные средства построения отчётов WinTariff?
  4. Что Вы планируете делать потом с этим файлом log.txt?
В любом случае, тот шестистрочный огрызок log.txt без толкования его полей — ни о чём.

Отправлено: 18:21, 27-03-2017 | #4


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


mwz,
Если бы могла, зачем мне пирожки печ в cmd из bat?
Iska,
Отвечаю:
1 - лог txt формирует прога wintariff
2 - потому что основная задача стояла в просмотре лога, и замене коротких номеров на фамилии и вывод этого на экран или на нужную дату или на нужный номер по дате.
(для чего создается файл data руками).
Собственно почему: потому что неудобно лезть на сервак и открывать лог файл, потом смотреть по коротокому кто звонил и так каждый раз при надобности, неудобно подан лог - дата время номера. и еще причина Не знаю что такое OLE DB и как с ней работать, а если не знаешь добрый день cmd
3 построение отчетов, тоесть он мне будет в файл кидать результат, я его открывать должен...не в этом цель.
4. с лог txt ничего делать не планирую, он как писался ранее так и будет, пока АТС не накроется или сервер.

60% процентов задачи решено, подмену коротких номеров прикрутил, как сделать подмену городских и мобильных по такому же шаблону не пойму.
и плюс как сделать при запуске бата, возможность ввода даты. чтобы не ждать пока весь лог прочитает,
а ввел формат:
28/03/17 надавил ентер лог за сегоднешний день считался.
ввел 28/03/17 112 считался лог за указанную дату только для номера 112

В варианте ввода только даты было б неплохо, если б bat при выполнении проверял не пополнился ли log и продолжал выводить данные в реальном времени. без перезапуска.

Не уверен решаемо ли целями винды это.

Может ваш вариант с OLE DB был интересен, если б в реальном времени можно было б видеть звонки, а не только как логе, после звонка.

Пишите что думаете.

Возможно вариант с вводом строке реализовать командой поиска строки с текстом dd/mm/yy
P.S. Хреново когда понимаешь что нужно, но не знаешь как это выразить в коде

Отправлено: 15:57, 28-03-2017 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата it_ptm:
1 - лог txt формирует прога wintariff »
Спасибо, кэп. Повторяю вопрос, акцентируя на словах:
Цитата Iska:
Как, откуда и каким образом Вы получаете файл log.txt? »
Цитата it_ptm:
2 - потому что основная задача стояла в просмотре лога, и замене коротких номеров на фамилии и вывод этого на экран или на нужную дату или на нужный номер по дате. »
Это вторичная или даже третичная, а вовсе не основная задача. Основную Вы нам не озвучили.
Цитата it_ptm:
3 построение отчетов, тоесть он мне будет в файл кидать результат, я его открывать должен...не в этом цель. »
Так расскажите, что Вам надо получить. Не «в логе менять номера на фамилии», а исходную, первичную задачу.

Цитата it_ptm:
Может ваш вариант с OLE DB был интересен, если б в реальном времени можно было б видеть звонки, а не только как логе, после звонка. »
Простите, это зависит только от того, когда, в какой момент и с какой частотой производится опрос станций. И как я понимаю, запись даже в dbf-файле появится только после окончания разговора. Возможен ли параллельный доступ к базе dbf в то же время, когда с ней работает WinTariff? Полагаю, что нет, наверняка приложение открывает базу данных монопольно.

Повторю: для любого осмысленного ответа по работе с лог-файлом нужно не шесть его строчек, а несколько сотен или тысяч, плюс Вы должны описать структуру его полей (и не забывайте про первый вопрос).

Отправлено: 23:56, 28-03-2017 | #6


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,
Вы запускали хоть то что приложено к посту?)))

Вот это да, нужно не шесть строчек, а сотен и тысяч...60 процентов задачи выполнено. нужно напильником подпилить.

Еще раз говорю, как работает WinTarrif32 с АТС, как она ее опрашивает для записи лога я не вкурсе. не я ее ставил и настраивал.
Результат работы вин тариф:
Постоянно дописывается инфа в текстовый файл (образец приложен)! В 1 и тот же файл постоянно!

Что я реализовал, реализовал чтение файла и подмену коротких номеров на фамилии.
Не сделано: подмена мобильных и гордских
не седално: вывод данных по дате и по дате и номеру вместе(мне видется лучше это сделать как только бат запустился, вопрос введите дату вводим дату или на вопрос введите дату вводим и дату и время, в жестко заданной форме). Т.к. читать длинный лог будет долго

Да и зачем Вам как и каким образом я его получаю, есть лог, есть жестко заданные форма вывода. Нужно смастерить парсер, извините домастерить, пол пути пройдено.
Когда начал работу над парсером, мне не интересно было как вин тариф его делает и каким образом, мне нужен парсер.

Не зря ж я архив кинул для наглядности.

Отправлено: 14:00, 30-03-2017 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


it_ptm, спасибо, ясно. С подобным подходом — дальше продолжайте без меня.

Отправлено: 15:08, 30-03-2017 | #8


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


it_ptm,
Сделаем проще. тема закрыта.
Попросил подсказать что в батнике допилить определенные моменты, как работает вин тариф я не знаю, и каким образом она пишет лог. есть файл на этом все.
Спасибо за внимание. если все такие обидчивые лучше тем и не открывать

Отправлено: 16:36, 30-03-2017 | #9


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


it_ptm, это не обида, а констатация факта. Нет техзадачи, нет достаточной информации, нет у автора желания работать плодотворно и совместно — его проблемы. Жаль, что Вы так этого и не поняли, а полезли в бутылку.

Отправлено: 17:22, 30-03-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно допилить BAT - парсер лога

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Нужно создать bat для запуска сервера с параметрами + приоритет процесса KimShumow Скриптовые языки администрирования Windows 6 19-02-2016 22:23
CMD/BAT - помощь в написание bat файла - обработка лога alex_sov Скриптовые языки администрирования Windows 8 13-08-2015 16:27
PowerShell - [решено] Парсер лога аудита. Ordinator Скриптовые языки администрирования Windows 2 30-09-2014 15:25
CMD/BAT - нужно чтобы bat-файл скачивал в папку, указанную в ini-файле набор файлов bro8888 Скриптовые языки администрирования Windows 6 13-04-2014 11:15
CMD/BAT - [решено] Нужно проверить есть ли интернет на ПК через *.bat white155 Скриптовые языки администрирования Windows 5 09-04-2011 00:01




 
Переход