Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Анализ лог файла с изменением текста.

Пользователь


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

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


Вложения
Тип файла: log meibillaccfwdownload.log
(285 байт, 6 просмотров)
Уважаемые форумчане.

Обращаюсь к Вам с очередной просьбой. Нужен bat'ник выполняющий следующие действия.

Ищет в текстовом файле строки со следующим текстом:
Return Code: 1006
Return Code: 3
Return Code: 4003
... (может быть больше)

Дальше в зависимости от найденного им текста он делает один из двух выходов:
1. Если нашел Return Code: 4003 Return Code: 3 Return Code: 1006, то правим найденный текст (например: с Return Code: 4003 на Return C: 4003 (смысл в том что лог файл не удаляется и что бы повторно не нарваться на один и тот же код его нужно исправить так что бы он не подошел по параметрам поиска)) и идем goto:work
2. если нет то goto:eof

P.S. К сожалению нужен именно CMD/BAT

Отправлено: 16:09, 17-04-2015

 

Ветеран


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

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


Цитата Kainos:
P.S. К сожалению нужен именно CMD/BAT »
Коллеги подтянутся, напишут. Только Вы больше лог задним числом не удаляйте .
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:25, 17-04-2015 | #2



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

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


Ветеран


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

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


Снова немного "поколдовав", "соригинальничал в квадрате":



Код: Выделить весь код
@echo off

set "log=meibillaccfwdownload.log"
set "codes=3, 1006, 4003"

setlocal
if not exist "%log%" (
 echo "%log%" is not found.& pause>nul& endlocal& exit/b 1
) else (
 for %%i in (%codes%) do call set x=%%x%% /c:"Return Code: %%i$"& set %%i=true
 >nul cmd/v/c findstr/ir!x! "%log%"|| (endlocal& exit/b 2)
 for /f %%i in ('^<"%log%" find/c /v ""') do @<"%log%">.tmp (
  for /l %%j in (1 1 %%i) do @set y=& set/p y=& if defined y (
   (
   for /f "tokens=8,9" %%k in ('cmd/v/c echo.!y!') do @if defined %%l (
    if "%%k" equ "Code:" (
     cmd/v/c echo !y: Code: = C: !
    ) else cmd/v/c echo !y!
   ) else cmd/v/c echo !y!
   )|| cmd/v/c echo.!y!
  ) else echo.
 )
)
type .tmp>"%log%"& del .tmp
endlocal


:work
echo :work& echo The label was achieved.& pause>nul


.



Если ориентироваться только на прикреплённый LOG-файл, то код можно бы было сократить вдвое, но я почему-то подозреваю, что содержимое приведённого файла может не полностью соответсвовать реальному содержимому, и поэтому учёл все возможные ситуации, кроме наличия другой кодировки и некоторых маловероятных случаев. Кстати, если бы не условие "если не найдено, то выходить, совсем ничего не делая", можно было бы даже не генерировать шаблоны поиска как таковые и не применять команду "FINDSTR", и в случае отсутстствия нужных кодов возврата файл бы просто переписывался без изменений, после чего осуществлялся бы выход.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:49, 18-04-2015 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Преобразование вывода лог файла egoryich Скриптовые языки администрирования Windows 8 15-05-2014 13:07
CMD/BAT - Перемещение файла и лог-файл feAre Скриптовые языки администрирования Windows 4 27-11-2012 06:40
Log/Monitoring - Подскажите программу для анализ интерент соединения с записью в лог ? wiznv Сетевые технологии 1 18-10-2012 20:24
Интернет - Слежение за изменением файла mikel Программное обеспечение Windows 2 29-05-2010 14:04
Обработка лог-файла на C++ Guest Программирование и базы данных 17 23-03-2004 01:11




 
Переход