На главную страницу сайта celitel.info
Вы не вошли в систему! [ ВОЙТИ ] или [ ЗАРЕГИСТРИРОВАТЬСЯ ]
CELITEL » Всякая всячина » Тема: bat / cmd Чтение файла настроек (ini) -- Стр. 1  | Перейти в: 

Послал Сообщение
healer
Администратор

Из: Москва
Сообщения: 24467
 bat / cmd Чтение файла настроек (ini)
Послано: 10-07-2015 15:11
            

@echo off

rem Читаем настройки из файла. Если не удалось распарсить настройки -
rem выходим с ненулевым кодом возврата.
rem Имя файла должно передаваться первым параметром.
rem Если файл настроек (ini) расположен в том же каталоге, что и скрипт,
rem то достаточно передать имя файла. Или указать это явно %~dp0config365p.ini,
rem где %~dp0 и определяет каталог, из которого запущен скрипт.
rem Иначе следует указывать полный путь и имя файла, например e:\crone\config.ini

call :read_settings %~dp0config365p.ini || exit /b 1

rem Прочитанные настройки:
echo TMP_=%TMP%
echo tstfsm=%test66%
pause
rem Выход из сценария. Дальше - только функции.
exit

rem
rem Функция для чтения настроек из файла.
rem Вход:
rem %1 - Имя файла с настройками
:read_settings

set SETTINGSFILE=%1

rem Проверка существования файла
if not exist %SETTINGSFILE% (
echo FAIL: Файл с настройками отсутствует
exit /b 1
)

rem Обработка файла c настройками
rem Здесь:
rem eol=# указывает на то, что содержимое строки начиная с символа #
rem и до ее конца может быть пропущено как комментарий.
rem
rem delims== указывает, что разделителем значений является символ =
rem
rem tokens=1,2 приводит к тому, что в переменную %%i будет занесен первый
rem токен, а в %%j - второй.
rem

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
rem В переменной i - ключ
rem В переменной j - значение
rem Мы транслируем это в переменные окружения
set %%i=%%j
)

exit /b 0

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 24467
 bat / cmd Чтение файла настроек (ini)
Послано: 10-07-2015 15:14
            

Сам файл настроек (в данном случае - config365p.ini) может выглядеть так:

# Файл настроек
#
# Директория для временных файлов
TMP=N:\OTCHET\365p\tmp
# Директория для расшифровки файлов
VRB=N:\OTCHET365p\vrb
# Файл проверки установки ключа mgtu
testka=F:\DB1\250601.fsg
# Файл проверки установки ключа фсфм
test66=F:\HD1\5197.PUB

Строки, ничинающиеся с символа # считаются комментариями.
Остальные строки имеют вид:
переменная = значение
Т. е. вид обычного файла ini.

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.


healer
Администратор

Из: Москва
Сообщения: 24467
 bat / cmd Чтение файла настроек (ini)
Послано: 06-08-2015 09:05
            

Собственно чтение и разбор ini файла осуществляет функция read_settings.
Описание ее работы приведено в комментариях.
Вопросы, пожелания, комментарии, дополнения и т.п. оставляйте здесь

~~~~~~~~~~~~

Здоровья Вам. Духовного и физического.



Статистика

Сейчас у нас: и 6 Гостя(ей)
Всего сообщений: 26682
Всего тем: 1151
Поздравляем: Svetlanka, melitrisych88, igoreker666 !!

Based on:

 

  my counter Valid XHTML 1.0 Strict Valid CSS!