Useruid ini что это

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

.ini (Initialization File)

.ini (Initialization File)

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

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

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

Содержание

Формат

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

Sections

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

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

Комментарии

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

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

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

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

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

Комментарии

Некоторые программы поддерживают использование знака ( # ) в качестве альтернативы точки с запятой для указания комментариев. Практически говоря, использование его для начала строки может эффективно изменить имя переменной в этой строке. Например, следующая строка создает переменную с именем «#var», но не с именем «var»; Это иногда используется для создания псевдореализации комментария.

В более общем плане использование знака числа непредсказуемо, как в следующих строках (обратите внимание на пробел после знака числа во второй строке). По этой причине знак «#» не следует использовать для запуска комментариев.

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

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

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

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

Иерархия

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

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

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

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

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

Пробелы

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

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

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

Пример

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

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

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

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

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

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

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

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
CurrentVersion\IniFileMapping

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

Расширение файла.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
databaseUSR:Software\oldprogs\inisettings\db

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

HKEY_CURRENT_USER\Software\oldprogs\inisettings\all
nameJohn Doe
organizationAcme Products

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

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

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

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

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

Источник

Что такое INI-файлы и для чего они нужны

Приветствую,Всех читателей интернет ресурса WindowsFan.Ru.

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

Useruid ini что это. phpini 270953. Useruid ini что это фото. Useruid ini что это-phpini 270953. картинка Useruid ini что это. картинка phpini 270953

Что такое 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
nameJohn Doe
organizationAcme Products

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *