Имя пользователя:
Пароль:
 

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

Старожил


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

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


В начале батника размещаете строку
SetLocal EnableDelayedExpansion
Далее, указываете файл настроек
Set CfgFile=test.cfg
Создаете сам файл настроек и вписываете в него нужные значения, в формате переменная=значение, такой формат еще называют key-value. К примеру, это будет
rsd=qwe
dtt=rty
rtt=zxc123

Далее, в конце батника размещаете этот код - функции для чтения и записи. Вызываются без аргументов.

Код: Выделить весь код
rem ====== Функции для работы с ini
rem v2, сохраняет комментарии и строки, не являющиеся парой key=value
rem Anonymous, 2011
:ReadKeyValue
If Not Exist %CfgFile% (Exit 1)
Set i=0
For /F "tokens=1,2 delims== usebackq" %%A In ("%CfgFile%") Do (
	Set /A i+=1
	Set %%A=%%B
	Set CfgKey!i!=%%A
	Set CfgStrings=!i!
)
Exit /B

:WriteKeyValue
If Exist "%CfgFile%" (Del "%CfgFile%")
For /L %%S In (1,1,%CfgStrings%) Do (
	Call :SingleLine "!CfgKey%%S!"
)
Exit /B
:SingleLine
If Not "!%~1!"=="" (Echo %~1=!%~1!>>"%CfgFile%") Else (Echo %~1>>"%CfgFile%")
Exit /B
rem ===============================
Далее, в удобном месте размещаете вызов функции чтения файла:
Call :ReadKeyValue
Всё, все переменные, записанные в файл прочитаны. Можно изменить их как угодно, например
Set rtt=0000
и записать изменения в файл вызовом
Call :WriteKeyValue
Если нужно использовать в других батниках - проследите, чтобы значение переменной CfgFile везде было одинаковым.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:25, 11-05-2012 | #2