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

Показать сообщение отдельно

Ветеран


Сообщения: 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