Войти

Показать полную графическую версию : Сравнение значений


Fresh96
26-01-2011, 13:59
Здравствуйте. Подскажите пожалуйста.
Есть файл следующего содержания:


....
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
26-01-2011, 14:15
@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
26-01-2011, 15:25
Укажите в тексте скрипта расположение вашего текстового файла (выделено жирным) - результат(значение переменной "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




© OSzone.net 2001-2012