CMD/BAT - Сравнение значений

Ответить
Аватара пользователя
Fresh96

CMD/BAT - Сравнение значений

Сообщение Fresh96 »

Здравствуйте. Подскажите пожалуйста.

Есть файл следующего содержания:




Цитата:



....

version=5307 (20100723)

versionid=5307

build=7529

type=engine

size=24250482

[ENGINE1]

version=5704 (20101215)

versionid=5704

build=8355

....



нужно выделить в нем самое большее значение versionid / строк versionid много /

и записать это самое большое значение в переменную.



пока написал только такой код /новичек/:



Код:

Код: Выделить всё

FOR /f "tokens=2 delims== " %%i in ('findstr /C:"versionid" update.ver') do echo %%i
Аватара пользователя
gora

Re: CMD/BAT - Сравнение значений

Сообщение gora »

Код:

Код: Выделить всё

@Echo Off
SetLocal enabledelayedexpansion
Set maxver=0
For /f "tokens=2 delims== " %%i In ('findstr /C:"versionid" update.ver') Do If %%i GTR !maxver! Set maxver=%%i
Echo maxver=!maxver!
Pause>Nul
Аватара пользователя
Ivan Bardeen

Re: CMD/BAT - Сравнение значений

Сообщение Ivan Bardeen »

Укажите в тексте скрипта расположение вашего текстового файла (выделено жирным) - результат(значение переменной "i") выведется на экран в окне

это vbs скрипт





Код:

Код: Выделить всё

Const ForReading = 1
i = 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\temp\update.ver", ForReading)
Do Until objTextFile.AtEndOfStream
    strNextLine = objTextFile.ReadLine
      If Left(strNextLine,9) = "versionid" Then
      		strNextLine = Mid(strNextLine,11)
      		strNextLine = CInt(strNextLine)
      		If strNextLine > i Then
      			i = strNextLine
      		End If 
      End If
Loop
Wscript.Echo i
Ответить

Вернуться в «Скриптовые языки администрирования Windows»