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

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

Ответить
Настройки темы
CMD/BAT - CMD BAT редактирование txt

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


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

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


Не могу написать батник чтобы редактировал файл так как мне надо. Есть файл например 1.log его содержимое:

1. вариант когда есть аварии

LOADING PROGRAM VERSION 12.2-0
BTS ALARM LISTING
KRA038 BCF-2308 ENVIR 2016-04-29 13:15:21.26
*** ALARM
(29807) 7401 EXTERNAL AL 1
POWER
KRA038 BCF-2301 ENVIR 2016-04-29 14:15:21.21
*** ALARM
(29807) 7401 EXTERNAL AL 1
POWER
END OF BTS ALARM LISTING
COMMAND EXECUTED
BASE TRANSCEIVER STATION ALARMS HANDLING COMMAND <EO_>

2. вариант когда нет аварий

LOADING PROGRAM VERSION 12.2-0
BTS ALARM LISTING
/* NO MATCHING ALARMS FOUND */
END OF BTS ALARM LISTING
COMMAND EXECUTED
BASE TRANSCEIVER STATION ALARMS HANDLING COMMAND <EO_>

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

в 1-м варианте указаны 2 аварии а их может быть много
нужно сделать батник, чтобы он создавал новый файл 2.txt

форматы выхода:
1. вариант, когда аварии есть

BCF-2308
2016-04-29 13:15:21.26
BCF-2301
2016-04-29 14:15:21.21

2. если 2 вариант то писало:
NO MATCHING ALARMS FOUND
3. если ни то ни то, нужно чтобы в файл писал "LOADING..."

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

findstr "BCF MATCHING" c:\1.log >2.txt

Отправлено: 16:48, 29-04-2016

 

Ветеран


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

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


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

<"1.log">>"2.log" (
 for /f "tokens=2-5" %%i in ('more') do @(
  if /i "%%j" equ "ENVIR" echo.%%i& echo %%k %%l& set bool=*
  if /i "%%i" equ "NO" echo.%%i %%j %%k %%l& set bool=*
 )
 if not defined bool echo LOADING...
)

exit/b
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:33, 29-04-2016 | #2



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

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


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


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

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


ого, какой простой код, спасибо получилось!

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

Отправлено: 11:31, 04-05-2016 | #3


Ветеран


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

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


Цитата sis211:
... он в файл добавляет новые строчки, а нужно чтобы файл пересоздавался. »


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

<"1.log">"2.log" (
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:41, 04-05-2016 | #4


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


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

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


спасибо

Отправлено: 10:51, 10-05-2016 | #5


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


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

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


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

Или второй вариант, при неуспешном выполнении (то есть когда в файл должно писаться Loading...), делать перезапуск:

я пробовал сделать так:

:loop1

1.exe

<"1.log">>"2.log" (
for /f "tokens=2-5" %%i in ('more') do @(
if /i "%%j" equ "ENVIR" echo.%%i& echo %%k %%l& set bool=*
if /i "%%i" equ "NO" echo.%%i %%j %%k %%l& set bool=*
)
if not defined bool Goto loop1
)

не сработал фокус.

Последний раз редактировалось sis211, 17-06-2016 в 19:11.


Отправлено: 15:50, 17-06-2016 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - CMD/BAT Поиск по каталогам файлов bat и конвертирование их в JPEG freerider1989 Скриптовые языки администрирования Windows 1 18-04-2016 08:37
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
CMD/BAT - Поиск в html файле ip адресов и копирование их в новый txt. 666egor666 Тест-форум 0 30-04-2015 11:31
C/C++ - [решено] Редактирование txt файла Starter1 Программирование и базы данных 7 27-11-2011 17:46
Разное - редактирование SchedLgU.txt vovnet Хочу все знать 0 02-02-2010 00:36




 
Переход