Синтаксис ini файлов. INI и пакетные файлы. Программы, открывающие файл INI

Для Haskell. Потом я решил, что лучше разбить статью на 3 части. В первой части я расскажу как написать контекстно-свободную грамматику для описания содержимого ini-файла.

ini файлы

Файлы с расширением ini широко распространены не только в мире Windows, но и в других системах (к примеру, php.ini). Формат ini-файла очень прост: файл разделён на секции, в каждой секции может находится произвольное число записей вида «параметр=значение». Имена параметров в разных секциях могут совпадать.
[секция_1]
параметр1=значение1
параметр2=значение2

[секция_2]
параметр1=значение1
параметр2=значение2

Каждый параметр может быть адресован через имя секции и имя параметра: что-нибудь вроде "секция_1"."параметр2" .

В ini-файлах предусмотрены комментарии - строки начинающиеся с ";".

Строим грамматику

Давайте попробуем описать этот формат виде контекстно свободной грамматики в расширенной нотации Бэкуса-Наура (надеюсь, что будет понятно даже тем, кто не знаком с ней).

Опишем что из себя представляет ini файл. Для этого опишем все конструкции от самых сложных (собственно сам ini-файл) к самым простым (что такое идентификатор). Каждой такой конструкции сопоставляется специальное обозначение (нетерминал ), которое определяется через другие нетерминалы и обычные символы (терминалы), которые я буду
задавать в кавычках.

  • Данные ini-файла (inidata) содержат несколько секций (фигурные скобки означают повторение любое количество раз).
    inidata = {section} .
  • Секция состоит из названия секции, заключённого в квадратные скобки, за которым со следующей строки идет несколько записей (параметров).
    section = "[", ident, "]", "\n", {entry} .
  • Запись состоит из имени параметра, знака "=", значения параметра и заканчивается концом строки.
    entry = ident, "=", value, "\n" .
  • Определим что такое идентификатор: всё что состоит из букв, цифр или знаков "_.,:(){}-#@&*|" (в действительности могут встречаться и другие символы).
    ident = {letter | digit | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|"} .

    Это определение не совсем верно, т.к. идентификатор должен состоять хотя бы из одного символа. Переделаем так:

  • Теперь определим что является значением: всё кроме конца строки (для краткости пришлось расширить нотацию обозначение not)
    value = {not "\n"} .
Осталось учесть, что некоторые парсеры/люди любят ставить дополнительные пробелы и пустые строки.
Для этого нам потребуется ввести ещё два нетерминала: пробельные символы используемые в строке и просто пробельные символы.

Пробелы могут быть почти где угодно. Поэтому немножко подкорректируем грамматику:
inidata = spaces, {section} .
section = "[", ident, "]", stringSpaces, "\n", {entry} .
entry = ident, stringSpaces, "=", stringSpaces, value, "\n", spaces .
ident = identChar, {identChar} .
identChar = letter | digit | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|" .
value = {not "\n"} .
stringSpaces = {" " | "\t"} .
spaces = {" " | "\t" | "\n" | "\r"} .

Вот в общем-то и всё, что касается грамматики =).

Кто-то, наверное, заметил, что я ничего не сказал про комментарии. Я не забыл - просто их проще «ручками» вырезать =) (в качестве упражнения можете подправить грамматику так, чтобы она комментарии учитывала).

Важно: я немного схитрил и построил грамматику так, чтобы в ней не было левой рекурсии. Обе рассматриваемые мною библиотеки строят

Для Haskell. Потом я решил, что лучше разбить статью на 3 части. В первой части я расскажу как написать контекстно-свободную грамматику для описания содержимого ini-файла.

ini файлы

Файлы с расширением ini широко распространены не только в мире Windows, но и в других системах (к примеру, php.ini). Формат ini-файла очень прост: файл разделён на секции, в каждой секции может находится произвольное число записей вида «параметр=значение». Имена параметров в разных секциях могут совпадать.
[секция_1]
параметр1=значение1
параметр2=значение2

[секция_2]
параметр1=значение1
параметр2=значение2

Каждый параметр может быть адресован через имя секции и имя параметра: что-нибудь вроде "секция_1"."параметр2" .

В ini-файлах предусмотрены комментарии - строки начинающиеся с ";".

Строим грамматику

Давайте попробуем описать этот формат виде контекстно свободной грамматики в расширенной нотации Бэкуса-Наура (надеюсь, что будет понятно даже тем, кто не знаком с ней).

Опишем что из себя представляет ini файл. Для этого опишем все конструкции от самых сложных (собственно сам ini-файл) к самым простым (что такое идентификатор). Каждой такой конструкции сопоставляется специальное обозначение (нетерминал ), которое определяется через другие нетерминалы и обычные символы (терминалы), которые я буду
задавать в кавычках.

  • Данные ini-файла (inidata) содержат несколько секций (фигурные скобки означают повторение любое количество раз).
    inidata = {section} .
  • Секция состоит из названия секции, заключённого в квадратные скобки, за которым со следующей строки идет несколько записей (параметров).
    section = "[", ident, "]", "\n", {entry} .
  • Запись состоит из имени параметра, знака "=", значения параметра и заканчивается концом строки.
    entry = ident, "=", value, "\n" .
  • Определим что такое идентификатор: всё что состоит из букв, цифр или знаков "_.,:(){}-#@&*|" (в действительности могут встречаться и другие символы).
    ident = {letter | digit | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|"} .

    Это определение не совсем верно, т.к. идентификатор должен состоять хотя бы из одного символа. Переделаем так:

  • Теперь определим что является значением: всё кроме конца строки (для краткости пришлось расширить нотацию обозначение not)
    value = {not "\n"} .
Осталось учесть, что некоторые парсеры/люди любят ставить дополнительные пробелы и пустые строки.
Для этого нам потребуется ввести ещё два нетерминала: пробельные символы используемые в строке и просто пробельные символы.

Пробелы могут быть почти где угодно. Поэтому немножко подкорректируем грамматику:
inidata = spaces, {section} .
section = "[", ident, "]", stringSpaces, "\n", {entry} .
entry = ident, stringSpaces, "=", stringSpaces, value, "\n", spaces .
ident = identChar, {identChar} .
identChar = letter | digit | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|" .
value = {not "\n"} .
stringSpaces = {" " | "\t"} .
spaces = {" " | "\t" | "\n" | "\r"} .

Вот в общем-то и всё, что касается грамматики =).

Кто-то, наверное, заметил, что я ничего не сказал про комментарии. Я не забыл - просто их проще «ручками» вырезать =) (в качестве упражнения можете подправить грамматику так, чтобы она комментарии учитывала).

Важно: я немного схитрил и построил грамматику так, чтобы в ней не было левой рекурсии. Обе рассматриваемые мною библиотеки строят

Самой частой причиной проблем с раскрытием файла INI является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате INI - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов INI.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом INI. Если это не произошло, то файл INI успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл INI, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл INI

Windows
Mac OS
Linux

Почему я не могу открыть файл INI?

Проблемы с файлами INI могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы INI не решит проблему. Причиной невозможности открытия, а также работы с файлом INI может быть также:

Несоответственные связи файла INI в записях реестра
- повреждение файла INI, который мы открываем
- инфицирование файла INI (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения INI из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение INI

Устранение этих проблем должно привести к свободному открытию и работе с файлами INI. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов INI. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе INI должны появится сортированные по названию файла.

При наличии на компьютере установленной антивирусной программы можносканировать все файлы на компьютере, а также каждый файл в отдельности . Можно выполнить сканирование любого файла, щелкнув правой кнопкой мыши на файл и выбрав соответствующую опцию для выполнения проверки файла на наличие вирусов.

Например, на данном рисунке выделен файл my-file.ini , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


Иногда ошибка может возникнуть в результате неверной установки программного обеспечения , что может быть связано с проблемой, возникшей в процессе установки. Это может помешать вашей операционной системе связать ваш файл INI с правильным прикладным программным средством , оказывая влияние на так называемые «ассоциации расширений файлов» .

Иногда простая переустановка Notepad++ может решить вашу проблему, правильно связав INI с Notepad++. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Notepad++ до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл INI может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла INI и попытайтесь открыть его снова.


Осторожно: Поврежденный файл может повлечь за собой возникновение сопутствующего ущерба предыдущей или уже существующей вредоносной программы на вашем ПК, поэтому очень важно, чтобы на вашем компьютере постоянно работал обновленный антивирус.


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

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


Совет: Если при попытке открыть файл INI вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов INI, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов INI могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла INI . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать Windows Initialization File. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл INI.


Если вы выполнили все описанные выше шаги , а ваш файл INI по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

Файл INI является файлом конфигурации, которые используется утилитами операционной системы Windows в целях инициализации определенных программных настроек. INI файлы содержат секции, необходимые для настройки и установки свойств. Секции, которые хранит INI формат, включают в себя названия, а также требуемые параметры значений.

Расширение INI представляет из себя текстовый файл, а значит поддаётся изменениям при помощи текстового редактора. Стоит отметить, что разработчики данного формата файла, не рекомендуют производить какие-либо изменения формата файлов INI обычным пользователям. Подобный тип файла был частично заменен базой данных в системном реестре Microsoft Windows 95, после чего, расширение файла в формате INI было заменено на файлы расширением XML.

Файл.ini обозначает инициализацию либо конфигурацию и несет в себе файлы настроек для среды Windows Microsoft, а также прочих платформ. Еще в эпоху MS-DOS, данный файл конфигурации использовался в целях хранения настроек обширного количества приложений и самой системы. Основная особенность, которой обладает файл расширением INI, это его простой структурированный формат, благодаря которому, расширение файла INI доступно для чтения не только машиной, но и человеком.

В Windows, .ini файл выполняет важную роль, например файл "boot.ini", находится в корневом каталоге системного диска и отвечает за управление процессом начальной загрузки, открыть файл возможно при помощи любого текстового редактора либо посредством инструмента "msconfig.exe", расположенного в настройках системы. В случае необходимости, корректно открыть файл INI, можно при помощи таких утилит, как Microsoft Notepad, Microsoft WordPad и так далее.

Программа