.ini

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
.ini
Расширение .ini
MIME-тип text/plain
Разработчик Майкрософт
Тип формата формат файла и текстовый формат данных[вд]

ini-файл (англ. Initialization file) — файл конфигурации[англ.], который содержит данные настроек для Microsoft Windows, Windows NT и некоторых приложений.

Появились с самых первых версий Windows. В версии Windows 1.01 это был только файл WIN.INI. В Windows 3.0 добавился файл SYSTEM.INI. А затем их количество начало расти быстро и бесконтрольно.

Не существует подробной официальной спецификации формата. Начиная с Windows 95, INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (Registry). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС.

Хотя INI файлы и приобрели популярность в Windows, они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.

Использование секций для разделения параметров способствует систематизации данных, однако для хранения настроек большого объёма с более сложной иерархической структурой лучше подходит формат XML или JSON.

Формат файла

[править | править код]

ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. ini-файлы имеют следующий формат:

; некоторый комментарий
# комментарий в стиле Unix

[Section1]
; комментарий о разделе
var1=значение_1 ; иногда допускается комментарий к отдельному параметру
var2=значение_2
  
[Section2]
var1=значение_1
var2=значение_2

; иногда позволяется перечислять несколько значений через запятую
[Section3]
var1=значение_1_1, значение_1_2, значение_1_3
var2=значение_2
; в Zend Framework массив задаётся следующим способом
[Section3.1]
var1[]=значение_1_1
var1[]=значение_1_2
var1[]=значение_1_3
var2=значение_2

; Иногда значения отсутствуют 
[Section4.0]
[ViewState]
Mode=
Vid=
FolderType=Generic

INI файл может содержать:

  • пустые строки;
  • комментарии — от символа ; (точка с запятой), стоящего в начале строки, до конца строки;
  • заголовки разделов — строки, состоящие из названия раздела, заключённого в квадратные скобки [];
  • значения параметров — строки вида ключ=значение.

Соглашения

[править | править код]

Не существует общепринятого стандарта формата файлов INI. Хотя общая структура таких файлов обычно сохраняется, многие программные продукты вводят в неё дополнительные возможности или, наоборот, ограничения.

  • Комментарии. Некоторые приложения (например, Samba) считают символом начала комментария как ;, так и #.
  • Обратный слэш. Иногда допускается использование обратного слэша \ для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять его для ввода спецсимволов, например, \n для обозначения переноса строки.
  • Одинаковые параметры. В большинстве случаев наличие двух одинаковых ключей в одной секции запрещено (при этом в Windows обрабатывается только первый, а во многих других реализациях — последний ключ).
  • Одинаковые имена секций. Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь первая (в реализации Windows) или последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.
  • Кавычки. Если значение взято в двойные или одинарные кавычки, функция чтения файлов INI в Windows убирает их. Убирается только внешняя пара кавычек. При этом функция записи в INI игнорирует эту особенность.