Useruid ini что это
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
.ini (Initialization File)
Расширение файла | .ini | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Тип кода | текстовый файл | |||||||||||||||||
Разработчик | Microsoft Windows | |||||||||||||||||
Начальная версия | 20 November 1985 года ; 36 years ago ( 1985-11-20 ) | |||||||||||||||||
Последний релиз |
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 на диске.
Альтернативы
Позднее конфигурационные файлы на основе XML стали популярным выбором для настройки кодировки в текстовых файлах. XML допускает произвольные сложные уровни и вложенность и имеет стандартные механизмы для кодирования двоичных данных.
Совсем недавно, форматы данных сериализации, таких как JSON, TOML и YAML могут служить в качестве формата конфигурации. Эти три альтернативных формата могут встраиваться произвольно, но имеют более мощный синтаксис, чем INI-файл.
Что такое INI-файлы и для чего они нужны
Приветствую,Всех читателей интернет ресурса WindowsFan.Ru.
Возможно, вы уже обращали внимание, что при включении функции отображения скрытых файлов и папок на рабочем столе, в корневых разделах, а также некоторых каталогах обнаруживаются полупрозрачные иконки файлов с незнакомым расширением INI.
Что такое INI-файлы
Что такое INI-файлы
Неопытные пользователи нередко принимают их за вирусы и удаляют, чего делать, конечно же не следует. Так что же такое INI-файлы и для чего они нужны в Windows? На этом вопрос мы постараемся ответить в этом небольшом посте.
INI-файлы имеют столь же древнюю историю, как и сама Windows. По сути, файл с расширением INI это обычный текстовый документ, предназначенный для хранения каких-либо настроек. Первоначально файлы этого типа имели весьма большое значение.
Поскольку в первой версии Windows реестра как такового не существовало, все настройки операционной системы хранились в одном файле WIN.INI. В версии 3.0 появился еще один подобный файл с названием SYSTEM.INI. После этого число конфигурационных файлов INI в Windows стало стремительно расти.
Тем временем Windows совершенствовалась, ее структура становилась все более сложной, и вскоре стало очевидным, что хранить системные и программные настройки в ini-файлах не только неудобно, но и непрактично. Ведь INI-файлы имеют массу недостатков.
Они не поддерживают юникод, двупоточную запись, точную настройку доступа, в них нельзя хранить двоичные данные. Кроме того они подвержены атакам отказа в обслуживании и к тому же медленно обрабатываются. Все это привело к тому, что начиная с версии 95, объектом хранения настроек в Windows стала централизованная база данных, ныне известная как реестр.
Переход не был резким, часть данных по-прежнему хранилась в конфигурационных файлах, да и реестр был еще тогда довольно примитивным. Но выбор был сделан окончательно и бесповоротно, и уже в XP практически все важные настройки «переехали» в реестр.
Сегодня INI-файлы служат в основном для хранения различных второстепенных параметров, например настроек внешнего вида папок, рабочего стола и т.д. Также INI-файлы активно используются различным программным обеспечением, Unix-системами и IDE.
На практике простым пользователям чаще всего приходится сталкиваться с одним типом INI-файлов, а именно desktop.ini. Используется этот файл для настройки внешнего вида папок. Его содержимое обычно представлено отдельными блоками или секциями, каждая из которых включает набор параметров, организованных по типу ключ-значение.
Например, параметр IconFile отвечает за стандартный значок каталога, Owner запрещает или открывает к нему доступ, а InfoTip позволяет добавлять к папкам всплывающие текстовые комментарии по типу файлов и ярлыков.
Другие типы конфигурационных файлов, таких как сontrol.ini, oeminfo.ini и boot.ini сегодня считаются устаревшими и практически не используются.
Встретить их можно разве что в XP и более ранних версиях Windows. Все это может указывать на то, что в будущем востребованность формата INI будет неуклонно снижаться. Уже сейчас большинство разработчиков отдает предпочтение формату XML, отличающемуся большей гибкостью и поддержкой стандартных парсеров.
На этом я пожалуй и закончу свой рассказ всем пока и до новых познавательных встреч с вами дорогие мои друзья.
Что такое INI-файл?
Почему программы используют файлы INI и как их просматривать
Файл с расширением INI является файлом инициализации Windows. Эти файлы представляют собой обычные текстовые файлы, которые содержат параметры, которые определяют, как должно работать что-то другое, часто программа.
Различные программы имеют свои собственные файлы INI, но все они служат одной и той же цели. CCleaner – один из примеров программы, которая может использовать INI-файл для хранения различных опций, которые программа должна была включить или отключить. Этот конкретный INI-файл хранится под именем ccleaner.ini в папке установки CCleaner, обычно в C: \ Program Files \ CCleaner \.
Как открыть и редактировать файлы INI
Обычные пользователи не часто открывают или редактируют файлы INI, но их можно открывать и изменять в любом текстовом редакторе. Если дважды щелкнуть INI-файл, он автоматически откроется в приложении «Блокнот» в Windows.
Смотрите наш список лучших бесплатных текстовых редакторов, чтобы найти альтернативные текстовые редакторы, которые могут открывать файлы INI.
Как структурируется INI-файл
INI-файлы могут содержать ключи (также называемые свойствами ), а некоторые имеют дополнительные разделы для группировки ключей. Ключ должен иметь имя и значение, разделенные знаком равенства, например:
Важно понимать, что не все файлы INI работают одинаково, потому что они созданы специально для использования в конкретной программе. Некоторые INI-файлы действительно крошечные (несколько килобайт) с одной или двумя строками информации, а другие могут быть очень длинными (несколько мегабайт) с большим количеством настраиваемых параметров.
То же самое можно сказать и о всех других языках, которые поддерживает программное обеспечение, но вы должны просмотреть его документацию, чтобы понять, какие цифры означают другие языки.
Если этот ключ существует в разделе, он может выглядеть так:
Этот конкретный пример находится в INI-файле, который использует CCleaner. Вы можете изменить этот INI-файл самостоятельно, чтобы добавить дополнительные параметры в программу, поскольку он ссылается на этот INI-файл, чтобы определить, что должно быть удалено с компьютера. Эта конкретная программа достаточно популярна, так что вы можете загрузить инструмент под названием CCEnhancer, который обновляет INI-файл с множеством различных опций, которые по умолчанию не встроены.
Дополнительная информация о файлах INI
Некоторые файлы INI могут иметь точку с запятой в тексте. Они просто указывают на комментарий, чтобы что-то описать пользователю, если он просматривает INI-файл. Ничто после комментария не интерпретируется программой, которая его использует.
Имена и разделы ключей не чувствительны к регистру, по крайней мере, в Windows. Это означает, что тот же эффект создается в INI-файле, в котором используются заглавные буквы, а в строчных.
Общий файл с именем boot.ini используется в Windows XP для подробного описания конкретного места установки Windows XP. Если проблемы возникают с этим файлом, см. Как восстановить или заменить Boot.ini в Windows XP.
INI-файлы широко использовались в ранних версиях Windows, прежде чем Microsoft начала поощрять переход к использованию реестра Windows для хранения настроек приложения. Теперь, хотя многие программы все еще используют формат INI, XML используется для той же цели.
Если вы получаете сообщения «Отказано в доступе» при попытке отредактировать INI-файл, это означает, что у вас нет необходимых административных прав для его изменения. Обычно это можно исправить, открыв редактор INI с правами администратора (щелкните его правой кнопкой мыши и выберите запуск от имени администратора). Другой вариант – скопировать файл на рабочий стол, внести в него изменения, а затем вставить этот файл рабочего стола поверх оригинала.
Некоторые другие файлы инициализации, которые вы можете встретить, которые не используют расширение файла INI, являются файлами CFG и CONF. Некоторые программы даже придерживаются TXT.
Как конвертировать файл INI
Нет никакой реальной причины преобразовывать файл INI в другой формат файла. Программа или операционная система, использующая файл, распознает его только под определенным именем и расширением файла, которое использует.
Однако, поскольку файлы INI являются обычными текстовыми файлами, вы можете использовать программу, например Notepad ++, чтобы сохранить ее в другом текстовом формате, таком как HTM/HTML или TXT.
Создаём парсер для ini-файлов. Теория
ini файлы
Файлы с расширением ini широко распространены не только в мире Windows, но и в других системах (к примеру, php.ini). Формат ini-файла очень прост: файл разделён на секции, в каждой секции может находится произвольное число записей вида «параметр=значение». Имена параметров в разных секциях могут совпадать.
[секция_1]
параметр1=значение1
параметр2=значение2
В ini-файлах предусмотрены комментарии — строки начинающиеся с «;».
Строим грамматику
Давайте попробуем описать этот формат виде контекстно свободной грамматики в расширенной нотации Бэкуса-Наура (надеюсь, что будет понятно даже тем, кто не знаком с ней).
Вот в общем-то и всё, что касается грамматики =).
Кто-то, наверное, заметил, что я ничего не сказал про комментарии. Я не забыл — просто их проще «ручками» вырезать =) (в качестве упражнения можете подправить грамматику так, чтобы она комментарии учитывала).
Важно: я немного схитрил и построил грамматику так, чтобы в ней не было левой рекурсии. Обе рассматриваемые мною библиотеки строят рекурсивный нисходящий парсер, который уязвим к левой рекурсии. Перед тем, как использовать эти библиотеки в реальных проектах, убедитесь, что вы понимаете что это такое и как с этим бороться =).
Теперь вы можете сравнить использование этой грамматики для построения парсера на C++ и на Haskell.
PS. Спасибо maxshopen за идею поместить эту статью в блог «Разработка».
Содержание
История
Основным механизмом конфигурации программного обеспечения в Windows изначально был формат текстового файла, который содержал текстовые строки с одной парой «ключ-значение» в каждой строке, организованные в разделы. Этот формат использовался для компонентов операционной системы, таких как драйверы устройств, шрифты, средства запуска. Файлы INI также обычно использовались приложениями для хранения индивидуальных настроек.
Linux и Unix также используют аналогичный формат файла для конфигурации системы. Кроме того, программное обеспечение, не зависящее от платформы, может использовать этот формат файла для конфигурации. Это удобочитаемый и простой для синтаксического анализа формат, поэтому его можно использовать для файлов конфигурации, которые не требуют гораздо большей сложности.
Файлы конфигурации Git похожи на файлы INI.
Например, платформенно-независимый PHP использует формат INI для своего » php.ini «конфигурационный файл в системах Windows и Linux. Файлы
Desktop.ini определяют отображение каталогов в Windows, например, значки для каталога.
Формат
Ключи (свойства)
Базовым элементом, содержащимся в файле INI, является ключ или свойство. У каждого ключа есть имя и значение, разделенное знаком равно (=). Имя отображается слева от знака равенства. В реализации Windows знак равенства и точка с запятой являются зарезервированными символами и не могут появляться в ключе. Значение может содержать любой символ.
Разделы
Ключи могут, но не обязательно, группироваться в разделы с произвольным названием. Имя раздела появляется в отдельной строке в квадратных скобках ([и]). Все ключи после объявления раздела связаны с этим разделом. Нет явного разделителя «конец раздела»; разделы заканчиваются объявлением следующего раздела или в конце файла. Разделы не могут быть вложенными.
Чувствительность к регистру
Имена разделов и свойств не чувствительны к регистру в реализации Windows, но в других приложениях может вести себя по-другому.
Комментарии
Различные функции
Формат файла INI не является универсальным строго определенным. Многие компьютерные программы поддерживают функции, выходящие за рамки уже описанных основных функций. Ниже приводится список некоторых общих функций, которые могут быть, а могут и не быть реализованы в любой данной программе.
Комментарии
Некоторое программное обеспечение поддерживает использование знака числа (#) в качестве альтернативы точке с запятой для обозначения комментариев. Однако он может быть включен в название ключа. Например, следующая строка создает переменную с именем «#var», но не переменную с именем «var»; иногда это используется для создания псевдо-реализации комментария.
В общем, использование знака числа непредсказуемо, как в следующих строках (обратите внимание на пробел после знака числа во второй строке). По этой причине не следует использовать знак числа в начале комментария.
В некоторых реализациях комментарий может начинаться в любом месте строки, в том числе в той же строке после объявлений свойств или разделов. В других случаях, включая функцию WinAPI GetPrivateProfileString, комментарии должны размещаться отдельно в строках.
Повторяющиеся имена
Интерпретация нескольких объявлений разделов с одним и тем же именем также различается. В некоторых реализациях повторяющиеся разделы просто объединяют свои свойства, как если бы они располагались непрерывно. Другие могут прервать или проигнорировать некоторые аспекты INI-файла.
escape-символы
Глобальные свойства
Также могут быть разрешены необязательные «глобальные» свойства, которые объявляются перед объявлением любого раздела.
Иерархия
Разделитель имени / значения
Некоторые реализации допускают использование двоеточия ( : ) в качестве разделителя имени / значения (вместо знака равенства).
Значения в кавычках
Пробел
Порядок разделов и свойств
В большинстве случаев порядок свойств в разделе и порядок разделов в файле не имеют значения, но реализации могут отличаться.
Пример
Доступ к файлам INI
В следующем примере программы C демонстрируется чтение значений свойств из приведенного выше примера INI-файла (пусть имя файла конфигурации будет dbsettings.ini ):
Сравнение анализаторов INI
Сопоставление файлов
Используя приведенный выше пример, можно выполнить строковый вызов, чтобы получить ключ имени из раздела владельца из файла настроек, например, dbsettings.ini. Возвращаемое значение должно быть строкой «Джон Доу»:
Отображение INI принимает этот вызов API профиля, игнорирует любой путь в данном имени файла и проверяет, есть ли ключ реестра, соответствующий имени файла в каталоге:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \
CurrentVersion \ IniFileMapping
Если он существует, он ищет имя записи, совпадающее с запрошенным разделом. Если запись найдена, отображение INI использует ее значение как указатель на другую часть реестра. Затем он ищет запрошенную настройку INI в этой части реестра.
Итак, в этом случае вызов профиля для раздела [владелец] отображается на:
HKEY_CURRENT_USER \ Software \ oldprogs \ inisettings \ all | |
---|---|
name | John Doe |
organization | Acme Products |
, где найдено имя записи реестра « name », совпадающее с запрошенным ключом INI. Затем значение «John Doe» возвращается вызову Profile. В этом случае префикс @ по умолчанию препятствует чтению файла dbsettings.ini на диске. В результате любые настройки, не найденные в реестре, не ищутся в INI-файле.
Запись реестра « база данных » не имеет префикса @ в значении; таким образом, только для раздела [database] сначала берутся настройки в реестре, а затем настройки в файле dbsettings.ini на диске.
Альтернативы
- стол для аллергиков какой номер
- White petrolatum что это