Ini что это: .ini — Википедия – Что такое INI-файлы и для чего они нужны

.ini — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 22 декабря 2015; проверки требуют 12 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 22 декабря 2015; проверки требуют 12 правок.

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

Появились с самых первых версий Windows. В версии Windows 1.01 это был только файл WIN.INI. В Windows 3.0 добавился файл SYSTEM.INI. А затем их количество начало расти быстро и бесконтрольно.

Не существует подробной официальной спецификации формата. Начиная с Windows 95, INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (Registry). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС.

Хотя INI файлы и приобрели популярность в Windows, они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.

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

ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. ini-файлы имеют следующий формат:

; некоторый комментарий
# комментарий в стиле Unix

[Section1]
; комментарий о разделе
var1=значение_1 ; иногда допускается комментарий к отдельному параметру
var2=значение_2
  
[Section2]
var1=значение_1
var2=значение_2

; иногда позволяется перечислять несколько значений через запятую
[Section3]
var1=значение_1_1, значение_1_2, значение_1_3
var2=значение_2
; в Zend Framework массив задаётся следующим способом
[Section3.1]
var1[]=значение_1_1
var1[]=значение_1_2
var1[]=значение_1_3
var2=значение_2

; Иногда значения отсутствуют 
[Section4.0]
[ViewState]
Mode=
Vid=
FolderType=Generic

INI файл может содержать:

  • пустые строки;
  • комментарии — от символа «;» (точка с запятой), стоящего в начале строки, до конца строки;
  • заголовки разделов — строки, состоящие из названия раздела, заключённого в квадратные скобки «[ ]»;
  • значения параметров — строки вида «ключ=значение».

Соглашения[править | править код]

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

  • Комментарии. Некоторые приложения (например, Samba) считают символом начала комментария как «;», так и «#».
  • Обратный слэш. Иногда допускается использование обратного слэша «\» для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять «\» для ввода спецсимволов, например, ‘\n’ для обозначения переноса строки.
  • Одинаковые параметры. В большинстве случаев наличие двух одинаковых ключей в одной секции запрещено (при этом в Windows обрабатывается только первый, а во многих других реализациях — последний ключ).
  • Одинаковые имена секций. Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь первая (в реализации Windows) или последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.
  • Кавычки. Если значение взято в двойные или одинарные кавычки, функция чтения файлов INI в Windows убирает их. Убирается только внешняя пара кавычек. При этом функция записи в INI игнорирует эту особенность.

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

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

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

Что такое 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, отличающемуся большей гибкостью и поддержкой стандартных парсеров.

На этом я пожалуй и закончу свой рассказ всем пока и до новых познавательных встреч с вами дорогие мои друзья…

что за файл и можно ли его удалить?

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

Desktop.ini - что за файл и можно ли его удалить?

Применение современных материалов и технологий существенно уменьшает размеры новых устройств и значительно увеличивает их быстродействие и производительность. Создание новых видов компьютерных устройств требует разработки продвинутых инструментов управления и контроля за ними. Основным элементом таких инструментов является современные версии программного обеспечения. Корпорация «Microsoft», являющаяся крупнейшим разработчиком компьютерных программ и создавшая операционную систему «Windows»

, старается максимально быстро реагировать на все возрастающие требования к элементам управления компьютерами. Современные скоростные процессоры, мощнейшие высокопроизводительные видеокарты, высокоемкостные дисковые накопители данных, «Ultra HD 4K» мониторы высокой четкости и т.д. предоставляют широкие возможности использования и требуют наличия улучшенного программного обеспечения для полноценного применения.

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

«Windows» для собственных нужд. Существуют много видов таких файлов и они выполняют различные операции: от самых простых (например, счетчик времени) до самых сложных (например, сохранение конфигурации данных оперативной памяти). В основном, эти системные файлы являются скрытыми и не отражаются в системных папках в стандартных настройках системы.

Каждый пользователь, в зависимости от своего вкуса и настроения, настраивает интерфейс операционной системы

«Windows» под себя. И если вы когда-либо настраивали параметры папок на своем персональном компьютере в системе «Windows» и включали видимость скрытых файлов, то вы могли заметить, что файл «desktop.ini» находится на рабочем столе, а также в каждой папке. Естественно, сразу возникает ряд вопросов:

В этой статье мы попытаемся ответить на все основные вопросы относительно файла «desktop.ini». А также рассмотрим вариант, как настроить конфигурацию папки с помощью файла «desktop.ini».

Что такое файл «desktop.ini» и для чего он необходим?

Файл «desktop.ini» представляет собой скрытый файл настроек конфигурации в операционной системе «Windows», расположенный в каждой папке. Он непосредственно определяет, как будет отображаться папка, а также ее другие свойства – например, вид значка (иконки), используемый для этой папки, ее локализованное имя, приоритетные свойства совместного доступа, цвет текста, наличие фонового рисунка и т.д.

В «Windows» вы можете легко настроить вариант совместного доступа к определенным файлам / папкам, предоставить доступ к ним обычным пользователям, настроить способ их совместного использования и другие параметры, которые определяют, как накладываются разрешения на файл / папку. Вся эта информация о примененных настройках к папке сохраняется в системном файле «desktop.ini», который является файлом инициализации по умолчанию.

Теперь, если вы измените стандартную конфигурацию или какие-либо настройки макета папки, то все изменения будут автоматически сохранены в файле «desktop.ini» этой конкретной папки. Этот системный файл является скрытым по умолчанию, поэтому если вы хотите сделать его видимым, то вам необходимо задать разрешение на его отображение. Это можно выполнить следующим образом. Щелкните два раза мышкой по файлу «Этот компьютер» на рабочем столе и откройте проводник файлов (или нажмите вместе сочетание клавиш «Windows + E» чтобы вызвать проводник файлов напрямую). В ленте главного меню выберите вкладку «Вид» и в области навигации вкладки нажмите кнопку раздела «Параметры». В открывшемся вложенном меню выберите пункт «Изменить параметры папок и поиска».

Изменить параметры папок и поиска

В открывшемся окне «Параметры папок» перейдите на вкладку «Вид», используя полосу прокрутки, опустите бегунок вниз и в списке доступных параметров снимите флажок в ячейке «Скрывать защищенные системные файлы (рекомендуется)».

Скрывать защищенные системные файлы (рекомендуется)

Появится системное предупреждение: «Защищенные файлы операционной системы (помеченные как системные или скрытые) будут отображаться в проводнике. Эти файлы необходимы для запуска и работы «Windows». Их удаление или изменение может помешать нормальной работе компьютера. Вы действительно хотите, чтобы эти файлы отображались?». Подтвердите свое решение и нажмите кнопку «Да». Флажок в ячейке будет снят. Затем нажмите кнопки «Применить» и «ОК» и изменения вступят в силу. Теперь все скрытые файлы будут отражены.

Является ли вирусом файл «desktop.ini»?

Однозначно, скрытый файл операционной системы «desktop.ini» не является вирусом. Это собственный системный файл, который хранится на уровне папок, созданный после настройки фона, значка или уменьшенного изображения и т.д. Однако была история троянского вируса, связанного с именем этого файла. Если файл «desktop.ini» отображается в папке, даже если вы выполнили проверку параметров папок и скрыли защищенные системные файлы, установив флажок в соответствующей ячейке, то, вероятно, это может быть вредоносное программное обеспечение (вирус). Существуют различные виды вирусов, которые маскируются под скрытый файл «desktop.ini» для повышения своей незаметности. И пользователь, увидев такой файл в папке на своем компьютере, может принять его за легальный системный файл, тем самым подвергнув свою операционную систему заражению. Следовательно, чтобы быть полностью уверенным в безопасности вашей операционной системы «Windows», вы можете просканировать свой компьютер при помощи любой антивирусной программы, установленной у вас.

Можно ли удалить файл «desktop.ini»?

Конечно, вы можете удалить файл конфигурации «desktop.ini», но тогда настройки отображения вашей папки будут восстановлены на предустановленные системные значения. Это происходит следующим образом: всякий раз, когда вы меняете значок папки или уменьшенное изображение, меняете настройки совместного доступа и т.д., то вся эта информация автоматически сохраняется в файле «desktop.ini». Теперь, если вы удалите этот файл, то все ваши внесенные изменения конфигурации будут потеряны, а настройки папки будут переключены на общесистемные значения по умолчанию.

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

Как настроить папку с помощью файла «desktop.ini»?

Настройка папки с использованием файла «desktop.ini» не является сложной процедурой. Вам просто нужно создать новый или изменить существующий для этой папки файл «desktop.ini», чтобы обновить его параметры и настройки внешнего вида. Ниже приведены несколько простых настроек, которые вы можете попытаться выполнить с этим файлом:

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

Выполните следующие действия, чтобы изменить стиль папки, используя файл «desktop.ini».

  1. Выберите любую папку, которую вы хотите настроить, используя файл конфигурации «desktop.ini». Обязательно, перед началом работы, сохраните резервную копию всех файлов, находящихся в папке, в другом месте, чтобы можно было восстановить их в случае, если что-то пойдет не так.

  2. На следующем этапе откройте окно командной строки с правами администратора. Этого можно достичь следующими способами:

    Способ 1: Откройте проводник файлов любым способом, описанным выше (например, нажмите вместе сочетание клавиш «Windows + E»), и перейдите к месту хранения исполняемого файла «cmd.exe». Он находится на системном диске «С» по следующему адресу:

    «C:\Windows\System32»

    Найдите требуемый файл и нажмите на нем правой кнопкой мыши для вызова всплывающего меню. Выберите в списке доступных действий пункт «Запуск от имени администратора».

    Запуск от имени администратора

    Способ 2: Щелкните правой кнопкой мыши по кнопке «Пуск», находящейся в левом нижнем углу рабочего стола на «Панели задач», или нажмите вместе сочетание кнопок «Windows + X», и откройте всплывающее меню. В списке доступных приложений выберите раздел «Windows PowerShell (администратор)» (в более ранних версиях операционной системы «Windows» выберите раздел «Командная строка (администратор)»).

    Windows PowerShell (администратор)

    Способ 3: Нажмите на «Панели задач» кнопку «Пуск» и откройте главное пользовательское меню «Windows». Используя полосу прокрутки, в списке доступных приложений и программ найдите раздел «Служебные – Windows». Откройте вложенное меню и найдите в списке служебных приложений раздел «Командная строка». Щелкните по разделу правой кнопкой мыши и во всплывающем меню нажмите раздел «Дополнительно». Будет открыто следующее вложенное меню, в котором выберите раздел «Запуск от имени администратора».

    Пуск: Командная строка

    Способ 4: Нажмите кнопку «Поиск», расположенную на «Панели задач» рядом с кнопкой «Пуск», и введите в поле ввода текста поисковый запрос «cmd». В ячейке лучшего соответствия будет найдено приложение «Командная строка. Классическое приложение». Нажмите на нем правой кнопкой мыши и вызовите всплывающее меню. В списке доступных действий выберите раздел «Запуск от имени администратора».

    Поиск: Командная строка

    Перед открытием командной строки служба контроля учетных записей «Windows» выдаст системное предупреждение: «Разрешить этому приложению вносить изменения на вашем устройстве?». Выберите кнопку «Да» чтобы открыть командную строку, обладающую правами администратора.

    Администратор: Командная строка

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

    attrib +s «Полный путь к папке»

    attrib +s

    В нашем примере нужная папка «456» находится на диске «Е» в папке «123».

  3. Создайте файл конфигурации «desktop.ini» в выбранной папке. Для этого вы можете воспользоваться стандартным приложением «Блокнот» или любым другим текстовым редактором. Нажмите на кнопку «Пуск» в левом нижнем углу экрана и откройте главное пользовательское меню «Windows». Выберите в списке установленных приложений и программ, используя бегунок полосы прокрутки, раздел «Стандартные – Windows». Откройте вложенное меню и в списке стандартных приложений выберите раздел «Блокнот».

    Пуск: Блокнот

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

    Desktop.ini: Свойства

    Установите флажки в ячейках «Только чтение» и «Скрытый», а затем нажмите кнопки «Применить» и «ОК» для сохранения внесенных изменений.

    Атрибуты

    Примечание: Обязательно не забудьте при сохранении файла конфигурации «desktop.ini» выбрать в ячейке «Кодировка» значение «Юникод», чтобы локализованные строки, хранящиеся в нем как содержимое, были доступны для чтения.

  4. Вот пример образца файла «desktop.ini», созданного нами в стандартном приложении «Блокнот» для папки с именем «456», как показано на рисунке.

    Desktop.ini: Блокнот

    Теперь давайте рассмотрим, какие функции выполняют строковые значения параметров в созданном нами файле «desktop.ini»:

    «[.ShellClassInfo]» – параметр инициализирует системное свойство, которое позволяет настраивать базовую папку, назначая значения некоторым атрибутам, которые могут быть заданы в файле «desktop.ini».

    «ConfirmFileOp» – установите значение этого параметра в положение «0» и вы не будете получать предупреждение о том, что вы удаляете системную папку, при удалении или перемещении файла «desktop.ini».

    «IconFile» – если вы хотите установить пользовательскую иконку для своей папки, отличную от стандартных иконок, представленных в операционной системе «Windows», вы можете указать здесь путь к файлу иконки. Обязательно укажите полный путь к месту хранения файла иконки. Кроме того, файл с расширением «.ico» предпочтительнее других для установки пользовательских иконок, хотя также можно указать файл с расширениями «.bmp» и «.dll». В нашем примере иконка находится по следующему адресу: «Е:\123\456\foldernew.ico».

    «IconIndex» – порядковый номер иконки в файле. Если вы устанавливаете пользовательскую иконку для основной папки (параметр «IconFile»), то вам необходимо установить эту запись, так как они работают совместно. Установите значение этого параметра в положение «0», если в файле, указанном для атрибута «IconFile», имеется только один файл значка. В нашем примере в указанной папке находится только один вариант иконки, поэтому мы указали значение параметра равным «0».

    «InfoTip» – этот конкретный атрибут используется для установки текстовой строки – подсказки, которая может использоваться как информационный совет о папке. Если вы решите применить этот параметр, то любой текст, который вы укажите в этом атрибуте, будет отображаться при наведении курсора на иконку папки.

    Папка

    Мы указали подсказку «Важные рисунки», которая всплывает при наведении курсора на папку.

    Также существуют и другие дополнительные параметры, которые можно применять в файле конфигурации «desktop.ini», выполняющие различные функции. Вот только некоторые из них:

    «NoSharing» – открывает (значение «0») или запрещает (значение «1») общий доступ к выбранной папке;

    «IconArea_Image» – параметр указывает путь к фоновому рисунку;

    «IconArea_Text» – задает цвет текста названий файлов и папок;

    «Owner» – параметр, обозначающий владельца папки. Для открытия папки потребуется указать логин и пароль, установленные владельцем папки.

    Как видите, скрытый файл «desktop.ini» – это не вирус и не вредоносная программа, а обычный файл конфигурации, содержащий в себе различные параметры настройки интерфейса и режима совместного доступа к папке. И вы можете, используя стандартные команды настройки конфигурации, указать в нем приоритетные параметры для каждой конкретной папки по своему желанию и предпочтению в любой момент.

.ini — это… Что такое .ini?


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

Появились с самых первых версий Windows. В версии Windows 1.01 это был только файл WIN.INI. В Windows 3.0 добавился файл SYSTEM.INI. А затем их количество начало расти быстро и бесконтрольно.

Не существует подробной официальной спецификации формата. Начиная с Windows 95, INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (Registry). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС.

Хотя INI файлы и приобрели популярность в Windows, они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.

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

Формат файла

ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. ini-файлы имеют следующий формат:

; некоторый комментарий
 
[Section1]
; комментарий о разделе
var1 = значение_1 ; иногда допускается комментарий к отдельному параметру
var2 = значение_2
 
[Section2]
var1 = значение_1
var2 = значение_2
 
; иногда позволяется перечислять несколько значений через запятую
[Section3]
var1 = значение_1_1, значение_1_2, значение_1_3
var2 = значение_2
 
; в Zend Framework массив задаётся следующим способом
[Section3.1]
var1[] = значение_1_1
var1[] = значение_1_2
var1[] = значение_1_3
var2 = значение_2

INI файл может содержать:

  • пустые строки;
  • комментарии — от символа «;» (точка с запятой) до конца строки;
  • заголовки разделов — строки, состоящие из названия раздела, заключённого в квадратные скобки «[ ]»;
  • значения параметров — строки вида «имя_параметра = значение».

Соглашения

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

  • Комментарии. Некоторые приложения (например, Samba) считают символом начала комментария как «;», так и «#».
  • Обратный слэш. Иногда допускается использование обратного слэша «\» для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять «\» для ввода спецсимволов, например, ‘\n’ для обозначения переноса строки.
  • Одинаковые параметры. В большинстве случаев наличие двух параметров с одинаковыми именами в одной секции запрещено.
  • Одинаковые имена секций. Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.

См. также

Ссылки

Создаём парсер для ini-файлов. Теория / Habr

Эта статья задумывалась как наглядное сравнение двух схожих библиотек для создания парсеров: Boost Spirit для C++ и Parsec для 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 | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|"} .

    Это определение не совсем верно, т.к. идентификатор должен состоять хотя бы из одного символа. Переделаем так:
    ident = identChar, {identChar} .
    identChar = letter | digit | "_" | "." | "," | ":" | "(" | ")" | "{" | "}" | "-" | "#" | "@" | "&" |"*" | "|" .

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

Осталось учесть, что некоторые парсеры/люди любят ставить дополнительные пробелы и пустые строки.
Для этого нам потребуется ввести ещё два нетерминала: пробельные символы используемые в строке и просто пробельные символы.
stringSpaces = {" " | "\t"} .
spaces = {" " | "\t" | "\n" | "\r"} .

Пробелы могут быть почти где угодно. Поэтому немножко подкорректируем грамматику:
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"} .

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

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

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

Теперь вы можете сравнить использование этой грамматики для построения парсера на C++ и на Haskell.

PS. Спасибо maxshopen за идею поместить эту статью в блог «Разработка».

.ini — Википедия

Материал из Википедии — свободной энциклопедии

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

Появились с самых первых версий Windows. В версии Windows 1.01 это был только файл WIN.INI. В Windows 3.0 добавился файл SYSTEM.INI. А затем их количество начало расти быстро и бесконтрольно.

Не существует подробной официальной спецификации формата. Начиная с Windows 95, INI файлы считаются устаревшими и в качестве замены им Microsoft предлагает использовать системный реестр (Registry). Тем не менее INI файлы продолжают использоваться как приложениями других производителей, так и компонентами ОС от Microsoft. Например, файл boot.ini используется в Windows NT4/2000/XP при загрузке для выбора из нескольких ОС.

Хотя INI файлы и приобрели популярность в Windows, они могут использоваться в любой ОС. Несложная структура этого формата позволяет легко обрабатывать их программно и имеет достаточно понятный вид для чтения и изменения человеком. Существуют текстовые редакторы (например, SciTE или Notepad++), которые используют подсветку синтаксиса и фолдинг для этого формата, что облегчает редактирование INI файлов вручную.

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

Формат файла

ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. ini-файлы имеют следующий формат:

; некоторый комментарий
# комментарий в стиле Unix

[Section1]
; комментарий о разделе
var1=значение_1 ; иногда допускается комментарий к отдельному параметру
var2=значение_2
  
[Section2]
var1=значение_1
var2=значение_2

; иногда позволяется перечислять несколько значений через запятую
[Section3]
var1=значение_1_1, значение_1_2, значение_1_3
var2=значение_2
; в Zend Framework массив задаётся следующим способом
[Section3.1]
var1[]=значение_1_1
var1[]=значение_1_2
var1[]=значение_1_3
var2=значение_2

; Иногда значения отсутствуют 
[Section4.0]
[ViewState]
Mode=
Vid=
FolderType=Generic

INI файл может содержать:

  • пустые строки;
  • комментарии — от символа «;» (точка с запятой) до конца строки;
  • заголовки разделов — строки, состоящие из названия раздела, заключённого в квадратные скобки «[ ]»;
  • значения параметров — строки вида «ключ=значение».

Соглашения

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

  • Комментарии. Некоторые приложения (например, Samba) считают символом начала комментария как «;», так и «#».
  • Обратный слэш. Иногда допускается использование обратного слэша «\» для объявления следующей строки продолжением этой. В таком случае они будут обработаны как одна целая строка. Иногда возможно также применять «\» для ввода спецсимволов, например, ‘\n’ для обозначения переноса строки.
  • Одинаковые параметры. В большинстве случаев наличие двух одинаковых ключей в одной секции запрещено (при этом обрабатывается только последний ключ).
  • Одинаковые имена секций. Обычно при наличии нескольких секций с одинаковыми именами в файле обрабатывается лишь последняя из них. Некоторые приложения объединяют содержимое всех таких секций в одну.

См. также

Ссылки

что это такое и можно ли от них избавиться? :: SYL.ru

Многие пользователи, работающие с компьютерами на основе Windows, иногда замечают появление нескольких файлов Desktop.ini на рабочем столе. Многих это, мягко говоря, удивляет, если не сказать больше. В этом случае стоит остановиться подробнее на том, каковы причины появления на рабочем пространстве файлов Desktop.ini. Что это за объекты, далее будет рассмотрено более подробно. Но сразу хочется предупредить всех пользователей, что таких файлов в рабочей зоне может быть несколько (это нормальное явление).

Файлы Desktop.ini: что это?

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

desktop ini что это

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

Почему файлы появляются на рабочем столе?

Так почему же тогда пользователь видит несколько файлов Desktop.ini? Что это за объекты, и зачем они нужны? Пугаться не стоит. Хотите вы этого или нет, но данные объекты присутствуют на рабочем столе постоянно. Просто при стандартных установках они не отображаются. По всей видимости, если такие файлы видны, пользователь изменял настройки отображения скрытых или защищенных системных объектов.

ini файл

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

Содержание файлов

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

типы файлов

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

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

Desktop.ini (Windows 7): стоит ли удалять файлы?

Многие пользователи совершенно естественно задаются вопросом, связанным с удалением данных объектов: «А стоит ли это делать?».

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

Вопросы применения атрибутов

Само собой разумеется, что такие типы файлов, как и все остальные, можно скрыть. Для этого в самом простом случае поступить нужно так:

  • через меню ПКМ на файле вызываем раздел «Свойства»;
  • на вкладке общих параметров в разделе атрибутов отмечаем галочкой пункт «Скрытый»;
  • сохраняем изменения (кнопка «Применить» или сразу «OK»).
desktop ini на рабочем столе

Но это еще не все. Теперь нужно войти в «Проводник», использовать меню «Вид» и в появившемся списке установить запрет на показ защищенных системных файлов. Только после этого на рабочем столе от них и следа не останется.

Дополнительные сведения

Таковы файлы Desktop.ini. Что это за объекты, наверняка, вам уже ясно. Напоследок остается только один вопрос: «К какой именно конфигурации относятся эти файлы?». В большинстве случаев пользователь имеет дело с обычными фоновыми процессами работы самой операционной системы. Однако не будем исключать и тот вариант, что какая-то пользовательская программа по умолчанию сохраняет собственные настройки именно на рабочем столе. При сокрытии файлов ничего страшного не произойдет. Приложение изначально предусматривает обращение к такому конфигуратору, невзирая даже на то, что он может иметь атрибут скрытого. А вот удалять подобные файлы не стоит. Мало ли что может случиться? Имейте в виду, что некоторые программы придется переустанавливать заново. А если «слетит» серьезный софт, то на настройку может уйти достаточно много времени.

desktop ini windows 7

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

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

Leave a comment