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

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

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

Аватара для Fresh96

Старожил


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

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


Здравствуйте. Подскажите пожалуйста.
Есть файл следующего содержания:

Цитата:
....
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

Отправлено: 13:59, 26-01-2011

 

Аватара для gora

Ушёл из жизни


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

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


Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:15, 26-01-2011 | #2



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

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


Ветеран


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

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


Укажите в тексте скрипта расположение вашего текстового файла (выделено жирным) - результат(значение переменной "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

Последний раз редактировалось Ivan Bardeen, 26-01-2011 в 15:37.

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

Отправлено: 15:25, 26-01-2011 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - Расшифровка значений кодов полей IRo Microsoft Office (Word, Excel, Outlook и т.д.) 2 26-01-2011 11:20
Разное - Преобразование цифровых значений в буквы diga Microsoft Office (Word, Excel, Outlook и т.д.) 1 23-03-2010 16:02
PHP и передача значений переменных... Guest Вебмастеру 3 13-04-2004 14:01
Изменение значений BIOS из ОС Law Хочу все знать 1 04-01-2004 13:03
отображение вычсляемых значений в форме Casufi Вебмастеру 4 09-04-2003 06:40




 
Переход