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

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

Ответить
Настройки темы
CMD/BAT - помощь в написание bat файла - обработка лога

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


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

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


Изменения
Автор: alex_sov
Дата: 11-08-2015
Вложения
Тип файла: 7z log_обработанный.7z
(276 байт, 6 просмотров)
Тип файла: 7z log.7z
(336 байт, 7 просмотров)
Всем привет.
Не очень силен в написание, поэтому нужна ваша помощь.
Есть лог файл типа:

Querying target system called:

8.8.8.8

TCP port 53 (domain service): LISTENING

Querying target system called:

93.158.134.3

TCP port 53 (domain service): FILTERED

Querying target system called:

93.158.134.3

Необходимо сделать из него примерно следующее:
8.8.8.8 TCP port 53 (domain service): LISTENING
93.158.134.3 TCP port 53 (domain service): FILTERED
93.158.134.3 TCP port 25 (smtp service): LISTENING

Отправлено: 11:01, 11-08-2015

 

Ветеран


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

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


Цитата alex_sov:
Есть лог файл типа: »
Упакуйте файл в архив, прикрепите последний к сообщению или выложите на RGhost.

Отправлено: 11:06, 11-08-2015 | #2



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

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


Ветеран


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

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


alex_sov, выложенный «log.7z» — пустой.

Отправлено: 11:46, 11-08-2015 | #3


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


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

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


Iska, прошу прощения. Поправил

Отправлено: 11:51, 11-08-2015 | #4


Ветеран


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

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


alex_sov, попробуйте так:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=log.txt
set sDestFile=log_обработанный.txt

call :GetTemporaryName

if defined sSourceFile (
	if exist "%sSourceFile%" (
		type "%sSourceFile%" | >"%TemporaryName%" findstr.exe /i /r /c:"[0-9]\.[0-9]" /c:"TCP port"
		for /f "usebackq delims=" %%i in (
			`type "%TemporaryName%" ^| find.exe /c /v ""`
		) do set /a iCount = %%~i / 2
			echo [!iCount!]
		<"%TemporaryName%" >"%sDestFile%" (
			for /l %%i in (1, 1, !iCount!) do (
				set /p sVar1=
				set /p sVar2=
				echo !sVar1: =! !sVar2!
			)
		)
		del /f /q "%TemporaryName%"
	) else (
		echo Can't find source file [%sSourceFile%].
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<Source file^>
	exit /b 1
)

endlocal
exit /b 0
rem ==========================================================================

rem ==========================================================================
rem Функция GetTemporaryName()
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion
	
:NextName
	set sTempName=%temp%\temp%random%.tmp
	
	if exist "%sTempName%" goto :NextName
	
	set sProcName=%~0
	
	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:15, 11-08-2015 | #5


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


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

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


Iska, ты просто царь и бог, спасибо огромное

Отправлено: 13:39, 11-08-2015 | #6


Ветеран


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

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


а это, вывод команды portqry на этапе создания лога никак не оптимизируется?

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 15:48, 13-08-2015 | #7


Ветеран


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

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


Опиум, В качестве предположения, попробуйте с помощью PowerShell:
Код: Выделить весь код
[string] (portqry | sls '\d+') -split '\s{2}' -replace '^\s' | sc log.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:54, 13-08-2015 | #8


Ветеран


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

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


Foreigner, )

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 16:27, 13-08-2015 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Написание Bat файла - из одного файла вытаскивать определенную информацию в файл форм Ойка Скриптовые языки администрирования Windows 2 30-01-2014 23:59
CMD/BAT - Обработка параметров и ключей запуска меток BAT-файла polybas Скриптовые языки администрирования Windows 0 21-05-2012 16:12
CMD/BAT - [решено] обработка bat-ником списков из txt-файла sharky lions Скриптовые языки администрирования Windows 10 14-04-2011 23:36
Написание Bat файла solotu Хочу все знать 4 01-12-2009 14:25




 
Переход