Как запустить ini файл. Что такое INI-файлы и для чего они нужны. Программы, открывающие файл INI
Самой частой причиной проблем с раскрытием файла 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 должны появится сортированные по названию файла.
Не существует подробной официальной спецификации формата. Начиная с Windows 95 , INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС .
Хотя INI файлы и приобрели популярность в Windows , они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.
Использование секций для разделения параметров способствует систематизации данных, однако для хранения настроек большого объёма с более сложной иерархической структурой лучше подходит формат XML .
Формат файла
ini-файлы - это обычные текстовые файлы , которые можно редактировать и просматривать при помощи любого текстового редактора . ini-файлы имеют следующий формат:
; некоторый комментарий # комментарий в стиле Unix ; комментарий о разделе var1=значение_1 ; иногда допускается комментарий к отдельному параметру var2=значение_2 var1=значение_1 var2=значение_2 ; иногда позволяется перечислять несколько значений через запятую var1=значение_1_1, значение_1_2, значение_1_3 var2=значение_2 ; в Zend Framework массив задаётся следующим способом var1=значение_1_1 var1=значение_1_2 var1=значение_1_3 var2=значение_2 ; Иногда значения отсутствуют Mode= Vid= FolderType=Generic
INI файл может содержать:
- пустые строки ;
- комментарии - от символа «; » (точка с запятой) до конца строки;
- заголовки разделов - строки, состоящие из названия раздела, заключённого в квадратные скобки « »;
- значения параметров - строки вида «ключ=значение ».
Соглашения
Не существует общепринятого стандарта формата файлов INI. Хотя общая структура таких файлов обычно сохраняется, многие программные продукты вводят в неё дополнительные возможности или, наоборот, ограничения.
- Комментарии . Некоторые приложения (например, Samba) считают символом начала комментария как «;», так и «#».
- Обратный слэш . Иногда допускается использование обратного слэша «\» для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять «\» для ввода спецсимволов, например, "\n" для обозначения переноса строки.
- Одинаковые параметры . В большинстве случаев наличие двух одинаковых ключей в одной секции запрещено (при этом обрабатывается только последний ключ).
- Одинаковые имена секций . Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.
Пример реализации
Рассмотрим код, который обрабатывает заданный корректный ini-файл и выводит его в специальном виде:int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n;
cin >> n;
cin.get();
map
См. также
Напишите отзыв о статье ".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"} .
Вот в общем-то и всё, что касается грамматики =).
Кто-то, наверное, заметил, что я ничего не сказал про комментарии. Я не забыл - просто их проще «ручками» вырезать =) (в качестве упражнения можете подправить грамматику так, чтобы она комментарии учитывала).
Важно: я немного схитрил и построил грамматику так, чтобы в ней не было левой рекурсии. Обе рассматриваемые мною библиотеки строят
Как Вы вероятно уже поняли, командные строки могут стать весьма длинными и сложными, особенно если Вы используете их, чтобы генерировать множественные выводы одновременно. Чтобы решить эти проблемы, Help & Manual позволяет Вам создавать внешние файлы, вызывающие .INI файлы, которые содержат все параметры, которые Вы хотите обработать, включая вывод в так много других форматов, как Вы хотите.
Если Вы комбинируете его с пакетным файлом в каталоге программы Help & Manual и создаете ярлык к этому файлу на вашем компьютере, Вы можете автоматизировать весь процесс и выполнить многократный комплекс компиляции единственным щелчком мыши.
Как создать.INI файл:
Используйте редактора текста, чтобы создать файл простого текста с расширением .INI (например batchcompile.ini ) в каталоге проекта, для которого Вы хотите выполнить компиляцию.
Пример:
CHM=F:\Project Files\Help
Project\Help\WidgetHelp.chm
I=CHM,FINALBUILD
KEEPTEMP
PDF=F:\Project Files\Help
Project\PDF\WidgetHelp.pdf
I=PDF,FINALBUILD
Template=usletter.mnl
L=F:\Project Files\Help
Project\Logs\compilerlog.txt
Что делает этот пример.INI файла:
Локальные и глобальные переключатели для множественного вывода |
Локальные переключатели: Следующие переключатели являются "локальными". Они должны быть применены к каждому выходному формату индивидуально, вставляя их после переключателя формата, для которого они должны примениться и перед следующим переключателем формата. Глобальные переключатели: Эти переключатели "глобальны". Они применяются ко всем выходным форматам в командной строке, и лучше помещать их в конце командной строки, после всех переключателей выходного формата и их соответствующих локальных переключателей. См. Синтаксис для получения дополнительной информации об отдельных переключателях и параметрах. |
Как использовать.INI файл из командной строки:
Чтобы использовать .INI файл, только определите его как первый и единственный параметр после проектного имени файла в командной строке. Если он сохранен в проектном каталоге, Вы не должны определять путь для него. Если он сохранен где-нибудь еще, Вы должны определить путь.
Как обычно, пример предполагает, что Вы работаете из каталога программы Help & Manual.
Пример:
Это запускает Help & Manual, открывает WidgetHelp.hmx и затем выполняет все команды, определенные переключателями и параметрами, содержащимися в batchcompile.ini .
Как использовать .INI файл из пакетного файла:
Вы можете сделать этот шаг вперед и автоматизировать процесс полностью, помещая командную строку (или строки!) со ссылкой на .INI файл в пакетный файл. Потом Вы можете создать ярлык к пакетному файлу и выполнить весь комплекс процесса компиляции, дважды щелкая на ярлыке. Это делается так:
Пример:
@ECHO
OFF
helpman.exe "D:\Help
Project\Widget\WidgetHelp.hmx" batchcompile.ini
helpman.exe "D:\Help Project\Widget
Two\WidgetTwoHelp.hmx" batchtwo.ini
См. также: