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

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

Ответить
Настройки темы
CMD/BAT - bat скрипт - увеличение значение параметра на 1

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


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

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


Привет всем.
Есть ини-файл:
Код: Выделить весь код
[UpdateSetting]
UpdateReady=1
MainVersion=5.2.0.357
SecVersion=4.0.1
Надо батником найти параметр MainVersion и увеличить значение 357 на 1.

Просматривал подобные темы, но там только поиск и замена значений только на заданные.
Например с примером
Server_address=XXX.XXX.XXX.XXX
Server_port=XXXX

Спасибо.

Отправлено: 12:16, 20-12-2018

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Set "Ini=Z:\Box_In\file.ini"
	Set "KeyWord=MainVersion"

	>Nul Move /Y "%Ini%" "%Ini%.bak" &&(
		>"%Ini%" (For /f "usebackq tokens=1* delims==" %%A in ("%Ini%.bak") Do (
			If /I Not "%KeyWord%"=="%%A" If "%%B"=="" (Echo %%A)
			If /I Not "%KeyWord%"=="%%A"  If Not "%%B"=="" (Echo %%A=%%B)
			If /I "%KeyWord%"=="%%A" (
				For /f "tokens=1,2,3,4 delims=." %%i in ("%%B") Do (
					Call Set /A LL=%%l+1
					(Call Echo %%A=%%i.%%j.%%k.%%LL%%)
				)
			)
		))
	)
Pause
Естественно, при условии что MainVersion=x.x.x.x

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 20-12-2018 в 15:17.

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

Отправлено: 14:59, 20-12-2018 | #2



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

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


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


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

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


megaloman,
Хвала Богам. Спасибо. И всего то в цикле у меня была ошибка, сцобако. Чуть глаз не выпал...

Да еще и с бекапом!?!?!?! Круто!

Отправлено: 15:31, 20-12-2018 | #3


Ветеран


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

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


ну и свой вариант прикреплю, пусть будет:
Код: Выделить весь код
@echo off
set "f=file.ini"
set "sz=MainVersion"

<"%f%">$ (for /f "delims=" %%a in ('more') do 2>nul set "%%a"& @call :# "%%a")
>nul move $ "%f%"
pause& exit

:#
 @echo %~1|>nul find "%sz%" && (
  for /f "tokens=1-4 delims=." %%a in ('call echo %%%sz%%%') do set /a t4=%%d+1& call echo %sz%=%%a.%%b.%%c.%%t4%%
 ) || (
  echo %~1
 )
@exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:45, 20-12-2018 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как получить значение параметра из реестра, добавить значение в текстовый файл etc.? Dark Ange1 Скриптовые языки администрирования Windows 28 22-06-2022 14:37
VBS/WSH/JS - [решено] Исправить значение параметра в реестре JooDoo Скриптовые языки администрирования Windows 13 24-05-2018 05:05
PowerShell - Установить значение одного параметра GPO на локальном ПК Anton04 Скриптовые языки администрирования Windows 4 02-03-2018 12:54
[решено] Изменить значение параметра — Не INI файл! semiono AutoIt 21 13-08-2010 14:12
Значение параметра в реестре WinME Guest Microsoft Windows 95/98/Me (архив) 3 07-10-2004 15:26




 
Переход