Где по умолчанию создается ini файл

Обновлено: 28.06.2024

Формат файла "INI" является неофициальным стандартом для файлов конфигурации для некоторых платформ или программного обеспечения. Файлы INI представляют собой простые текстовые файлы с базовой структурой, состоящей из разделов, свойств и значений [Источник 1] .

В MS-DOS и 16-разрядных Windows-платформах под Windows ME файл INI служил основным механизмом для настройки операционной системы и установленных функций приложений, таких как драйверы устройств, шрифты, конфигурации запуска и параметры, которые было необходимо инициализировать в Загрузки Windows. Файлы INI также обычно используются приложениями для хранения своих индивидуальных настроек. [Источник 2]

Имя "INI-файл" происходит от обычно используемого расширения имени файла .INI , что означает "инициализация". Другими распространенными расширениями файлов инициализации являются .CFG , .conf ,и .TXT , особенно «config.txt».

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

Содержание

Формат

Ключи (свойства)

Основной элемент, содержащийся в ini файл - "ключ" или "значение". Каждый ключ имеет имя и значение, разделенные на знак равенства ( = ). Имя отображается слева от знака равенства.

Sections

Ключи могут (но не обязательно) быть сгруппированы в произвольно названные "разделы". Название раздела отображается на отдельной строке в квадратных скобках ( [ и ] ). Все ключи после объявления раздела связаны с этим разделом. Нет явного "конца раздела"; разделы заканчиваются в следующей декларации раздела или в конце файла. Разделы не могут быть вложенными.

Нечувствительность к регистру

Имена разделов и свойств не зависят от регистра в Windows [Источник 3] .

Комментарии

Точка с запятой ( ; ) в начале строки означают комментарий. Строки комментариев игнорируются.

Различные особенности

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

Пустые строки

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

Комментарии

В некоторых реализациях, комментарий может начинаться в любом месте на линии, в том числе на той же строке после свойства или объявления. В другие, в том числе по WinAPI функция GetPrivateProfileString , комментариев должна происходить на отдельной линии .

Повторяющиеся имена

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

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

Глобальные свойства

Необязательные "глобальные" свойства также могут быть разрешены, которые объявляются перед объявлением любого раздела [Источник 4] .

Иерархия

Чаще всего, ini-файлы не имеют иерархии разделов в разделах.

Наименование/значение разделителя

Некоторые реализации допускают использование двоеточия ( : ) в качестве разделителя имени / значения (вместо знака равенства).

Цитированные значения

Некоторые реализации позволяют указывать значения, используя двойные кавычки и/или апострофы. Это позволяет явно объявлять пробелы и / или цитирование специальных символов (равно, точка с запятой и т.д.). Стандартная функция Windows GetPrivateProfileString поддерживает это и удаляет кавычки, которые окружают значения.

Пробелы

Порядок разделов и свойств

В большинстве случаев порядок свойств в разделе и порядок секций в файле значения не имеет, но реализации могут отличаться.

Пример

Ниже приведен пример файла INI для мнимой программы. Он состоит из двух разделов: один для владельца программного обеспечения и один для подключения базы данных расчета заработной платы. Заметьте, что кто модифицировал последний файл и почему вместо IP-адреса используется DNS имя.

Доступ к INI файлам

В Windows, "API профиль" - это программный интерфейс, используемый для чтения и записи параметров из классических файлов .ini в Windows. Например, функция GetPrivateProfileString извлекает строку из указанного раздела в файле инициализации.

Следующий пример программы на языке C демонстрирует чтение значений свойств из вышеупомянутого образца файла INI (пусть имя файла конфигурации будет dbsettings.ini ).

В Unix существует множество различных конфигурационных библиотек для доступа к файлам INI. Они часто уже включены в рамки и инструментальные средства. Примеры парсеров INI для UNIX включают iniparserи libconfiniи Elektra Initiative.

Отображение файла в память

Отображение файла в память. [Источник 5] создает сопоставление между файлом INI и реестром. Оно было представлено в Windows NT и Windows 95 в качестве способа перехода от сохранения настроек в классических .ini-файлах к новому реестру Windows. Ловушка отображения файла в памяти Профиля API и, используя параметры из раздела реестра IniFileMapping , направляет чтение и запись в соответствующие места в реестре.

Используя вышеприведенный пример, можно было бы сделать строковый вызов для извлечения ключа name из раздела owner" из файла настроек, называемого, скажем, dbsettings.ini . Возвращаемое значение должно быть строкой «John Doe»:

INI сопоставление принимает этот вызов API профиля, игнорирует любой путь в указанном имени файла и проверяет, есть ли ключ реестра, соответствующий имени файла в:

Если он существует, он ищет имя записи, соответствующее запрашиваемому разделу. Если запись найдена, INI сопоставление использует ее значение как указатель на другую часть реестра. Затем он ищет запрошенный параметр INI в той части реестра.

Если подходящее имя записи не найдено и есть запись под названием (Default) , INI сопоставление использует последнее. Таким образом, каждое имя секции не нуждается в отдельной записи.

HKEY_LOCAL_MACHINE\Software\. \IniFileMapping\dbsettings.ini
(Default) @USR:Software\oldprogs\inisettings\all
database USR:Software\oldprogs\inisettings\db

Таким образом, в этом случае вызов профиля для раздела [owner] отображается на:

HKEY_CURRENT_USER\Software\oldprogs\inisettings\all
name John Doe
organization Acme Products

где найденное имя записи " name " в соответствует запрошенному ключу INI. Значение «John Doe» затем возвращается к вызову Profile. В этом случае префикс @ по умолчанию запрещает какие-либо чтения обращаться к файлу dbsettings.ini на диске. Результатом является то, что любые настройки, не найденные в реестре, не просматриваются в файле INI.

Запись " database " в реестре не имеет префикса @ для значения; Таким образом, для раздела [database] only сначала выполняются параметры в реестре, а затем параметры в файле dbsettings.ini на диске.

Альтернативы

Начиная с Windows 95, Microsoft начала активно продвигать использование реестра Windows в файле INI. . [Источник 6] Файлы INI обычно ограничены двумя уровнями (разделами и свойствами) и не обрабатывают двоичные данные хорошо

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

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

Тут и создание ярлыка на Рабочий стол и т.п.
И здесь же выбор языка интерфейса программы, вот в зависимости от того какую "радиобуттон", выберет пользователь такое значение и нужно прописать в INI-файл. Без Section! Только ключ и значение!

Нужно написать Locale = ru или Locale - en.

Проблема заключается ещё в том что этот INI файл должен быть в "Моих Документах":

C:\Users\Имя пользователя\Documents\Название программы\setup.ini и этот файл уже может существовать!

ЕСЛИ ЭТОТ ФАЙЛ СУЩЕСТВУЕТ, то только добавить/изменить (ВНЕ СЕКЦИИ) Locale = en/ru (в зависимости от выбора при установке), НЕ трогая остальные значения и секции в этом файле. А если его НЕ существует, то просто создать файл setup.ini - с одним значение Locale = ru или Locale - en.

Это вообще возможно, помогите, пожалуйста!

Mickey1s

Ветеран

[Ini]
Filename: "\setup.ini"; Section: "Settings"; Key: "Locale"; String: "ru"; Components: text\ru;

если компоненты не нужны убрать Components: text\ru

NicTon

Новичок

[Ini]
Filename: "\setup.ini"; Section: "Settings"; Key: "Locale"; String: "ru"; Components: text\ru;

если компоненты не нужны убрать Components: text\ru

Нужно от выбора на странице дополнительные задачи:


И как я писал ранее Section - НЕ нужно.

В этом файле setup.ini - ТОЛЬКО ключ со значением: Locale = ru (или eng) - ВНЕ СЕКЦИИ, ОТДЕЛЬНО наверху самой первой строчкой!

Вот если этого файла нет в Моих документах\Название приложения, то создать setup.ini ТОЛЬКО с этой строчкой "Locale = . " (без секций, только значение и ключ), в зависимости от выбора в Tasks, а если этот файл уже есть, то как быть? Нужно ТОЛЬКО его проверить и заменить/добавить этот ключ Locale, на нужный, в зависимости от выбора языка в Tasks, при установке!

vint56

Ветеран

[Setup]
AppName=My Program
AppVersion=1.5
;AppVerName=My Program 1.5
DefaultDirName=\My Program
DefaultGroupName=My Program

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "eng"; Description: "Английский"; GroupDescription: "Интерфейс:"; Flags: exclusive
Name: "rus"; Description: "Русский"; GroupDescription: "Интерфейс:"; Flags: exclusive
Name: "desktopicon"; Description: "Создать ярлык для запуска игры на Рабочем столе"; GroupDescription: ""
Name: "DirectX"; Description: "Обновить DirectX"; GroupDescription: "Системные задачи:"

[code ]
procedure CurStepChanged(CurStep: TSetupStep);
var
List: TStringList;
ini: string;
begin
if CurStep = ssPostInstall then
begin
if IsTaskSelected('rus') then
begin
ini:= ExpandConstant('\setup.ini');
List:= TStringList.Create;
List.Add('Locale = ru');
List.SaveToFile(ini);
List.Free;
end;
if IsTaskSelected('eng') then
begin
ini:= ExpandConstant('\setup.ini');
List:= TStringList.Create;
List.Add('Locale = en');
List.SaveToFile(ini);
List.Free;
end;
end;
end;

NicTon

Новичок

[Setup]
AppName=My Program
AppVersion=1.5
;AppVerName=My Program 1.5
DefaultDirName=\My Program
DefaultGroupName=My Program

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "eng"; Description: "Английский"; GroupDescription: "Интерфейс:"; Flags: exclusive
Name: "rus"; Description: "Русский"; GroupDescription: "Интерфейс:"; Flags: exclusive
Name: "desktopicon"; Description: "Создать ярлык для запуска игры на Рабочем столе"; GroupDescription: ""
Name: "DirectX"; Description: "Обновить DirectX"; GroupDescription: "Системные задачи:"

[code ]
procedure CurStepChanged(CurStep: TSetupStep);
var
List: TStringList;
ini: string;
begin
if CurStep = ssPostInstall then
begin
if IsTaskSelected('rus') then
begin
ini:= ExpandConstant('\setup.ini');
List:= TStringList.Create;
List.Add('Locale = ru');
List.SaveToFile(ini);
List.Free;
end;
if IsTaskSelected('eng') then
begin
ini:= ExpandConstant('\setup.ini');
List:= TStringList.Create;
List.Add('Locale = en');
List.SaveToFile(ini);
List.Free;
end;
end;
end;

vint56, спасибо, принцип, примерно тот, НО только он перезаписывает, сносит всё в INI-файле (все ключи, все секции, все значения, которые там были) и вписывает только Locale = ru или en! (((

Я специально подобавлял там различные секции ключи и значения и попробовал при установке выбрать русский, потом английский, НЕ прокатило.

В итоге Моих документах создан setup.ini, в котором ТОЛЬКО ключ Locale со значением выбранного языка и всё. А всё остальное (если файл setup.ini, ранее существовал) - удалено!

. А если файла setup.ini и/или папки в которой он должен лежать НЕ существует, то вообще файл НЕ создаётся и установку отменить НЕЛЬЗЯ теперь, всё вешается, кнопка Отмены НЕ активна и даже процесс через Диспетчер задач снимается не сразу! (((


А мне надо (я же писал выше) - если файла и папки в Моих документах НЕТ, то создать их (и папку и файл), а в файле ключ: Locale и значением: ru/en (в зависимости от выбора языка при установке).

Почему программы используют файлы INI и как их просматривать

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

Распространенный INI-файл в Windows, называемый desktop.ini , представляет собой скрытый файл, в котором хранится информация о том, как должны выглядеть папки и файлы.

Как открыть и редактировать файлы INI

Обычные пользователи не часто открывают или редактируют файлы INI, но их можно открывать и изменять в любом текстовом редакторе. Если дважды щелкнуть INI-файл, он автоматически откроется в приложении «Блокнот» в Windows.

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

Как структурируется INI-файл

INI-файлы могут содержать ключи (также называемые свойствами ), а некоторые имеют дополнительные разделы для группировки ключей. Ключ должен иметь имя и значение, разделенные знаком равенства, например:

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

В этом примере CCleaner определяет английский язык со значением 1033 . Поэтому, когда открывается CCleaner, он читает INI-файл, чтобы определить, на каком языке отображать текст программы. Хотя для обозначения английского языка используется 1033 , программа также поддерживает и другие языки, что означает, что вы можете изменить его на 1034 , чтобы вместо него использовать испанский.

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

Если этот ключ существует в разделе, он может выглядеть так:

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

Дополнительная информация о файлах INI

Некоторые файлы INI могут иметь точку с запятой в тексте. Они просто указывают на комментарий, чтобы что-то описать пользователю, если он просматривает INI-файл. Ничто после комментария не интерпретируется программой, которая его использует.

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

Общий файл с именем boot.ini используется в Windows XP для подробного описания конкретного места установки Windows XP. Если проблемы возникают с этим файлом, см. Как восстановить или заменить Boot.ini в Windows XP.

Общий вопрос, касающийся файлов INI, заключается в том, можете ли вы удалять файлы desktop.ini . Хотя это совершенно безопасно, Windows просто заново создаст файл и применит к нему значения по умолчанию. Так, если вы, например, применили пользовательский значок к папке, а затем удалили файл desktop.ini , папка просто вернется к значку по умолчанию.

INI-файлы широко использовались в ранних версиях Windows, прежде чем Microsoft начала поощрять переход к использованию реестра Windows для хранения настроек приложения. Теперь, хотя многие программы все еще используют формат INI, XML используется для той же цели.

Некоторые другие файлы инициализации, которые вы можете встретить, которые не используют расширение файла INI, являются файлами CFG и CONF. Некоторые программы даже придерживаются TXT.

Как конвертировать файл INI

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

Однако, поскольку файлы INI являются обычными текстовыми файлами, вы можете использовать программу, например Notepad ++, чтобы сохранить ее в другом текстовом формате, таком как HTM/HTML или TXT.

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

как создать файл ini

Вероятно вы хотите узнать как стабильно зарабатывать в Интернете от 500 рублей в день? Скачайте мою бесплатную книгу =>> «Как гарантированно зарабатывать от 500 рублей в день»

Расширение ini применяется для создания конфигурационных файлов, которые могут потребоваться для того, чтобы задать определённые параметры в процессе настройки ОС.

Данные файлы удобны тем, что их можно редактировать при помощи стандартного приложения «Блокнот».

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

Как создать файл ini

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

Это можно сделать:

  • Через «Панель управления».
  • При помощи командной строки.

Как только права администратора будут получены, можно приступать к созданию файла с ini расширением.

Способы создания файла ini

Чтобы создать файл ini с использованием «Блокнота» потребуется:

как создать файл ini

  • Запустить «Блокнот».
  • Открыть готовый текстовый файл или внести информацию в новый файл и сохранить его как текстовый файл.
  • В левом верхнем углу нажимается «Файл» и из списка выбирается «Сохранить как».
  • В поле «Имя файла», после точки, в самом конце меняется расширение с «txt» на «ini».


Total Commander

Однако есть ещё один вариант. Если на ПК установлена программа «Total Commander», то файл ini можно создать и её помощью.

  • Запускается программа.
  • Затем на клавиатуре одновременно зажимаются «Shift+F4» и указывается имя файла с требуемым расширением.

Таким образом, как можно увидеть, создание файла с таким расширением как ini, процесс довольно несложный.

Как создать файл ini, итог

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


И уже после сохранения и заполнения файла, можно перенести его в папку назначения.

Необходимо убедиться, что для файла выбрана кодировка ANSI или Юникод, кодировка UTF-8 не поддерживается.

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

Ведь любому автору нужна обратная связь, а я прошу совсем не много за свой труд. Успехов и до новых статей!

Полезные статьи:

P.S. Прикладываю скриншот моих заработков в партнёрских программах. Более того, напоминаю, что так зарабатывать может каждый, даже новичок! Главное — правильно это делать, а значит, научиться у тех, кто уже зарабатывает, то есть, у профессионалов Интернет бизнеса.

Комиссионные Балыкова

Заберите список проверенных, особенно актуальных, Партнёрских Программ 2018 года, которые платят деньги!

2017

Скачайте чек-лист и ценные бонусы бесплатно =>> «Лучшие партнёрки 2018 года»

Похожие записи:

Понравилась статья? Скажи автору спасибо, поделись с друзьями!

Оставить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: