Программа для открытия ini файлов. Создаём парсер для ini-файлов

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

Если Вы комбинируете его с пакетным файлом в каталоге программы Help & Manual и создаете ярлык к этому файлу на вашем компьютере, Вы можете автоматизировать весь процесс и выполнить многократный комплекс компиляции единственным щелчком мыши.

Как создать.INI файл:

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

Пример:

CHM=F:\Project Files\Help Project\Help\WidgetHelp.chm
I=CHM,FINALBUILD
KEEPTEMP
PDF=F:\Project Files\Help Project\PDF\WidgetHelp.pdf
I=PDF,FINALBUILD
Template=usletter.mnl
L=F:\Project Files\Help Project\Logs\compilerlog.txt

Что делает этот пример.INI файла:

Локальные и глобальные переключатели для множественного вывода

Локальные переключатели:

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

Глобальные переключатели:

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

См. Синтаксис для получения дополнительной информации об отдельных переключателях и параметрах.

Как использовать.INI файл из командной строки:

Чтобы использовать .INI файл, только определите его как первый и единственный параметр после проектного имени файла в командной строке. Если он сохранен в проектном каталоге, Вы не должны определять путь для него. Если он сохранен где-нибудь еще, Вы должны определить путь.

Как обычно, пример предполагает, что Вы работаете из каталога программы Help & Manual.

Пример:

Это запускает Help & Manual, открывает WidgetHelp.hmx и затем выполняет все команды, определенные переключателями и параметрами, содержащимися в batchcompile.ini .

Как использовать .INI файл из пакетного файла:

Вы можете сделать этот шаг вперед и автоматизировать процесс полностью, помещая командную строку (или строки!) со ссылкой на .INI файл в пакетный файл. Потом Вы можете создать ярлык к пакетному файлу и выполнить весь комплекс процесса компиляции, дважды щелкая на ярлыке. Это делается так:

Пример:

@ECHO OFF
helpman.exe "D:\Help Project\Widget\WidgetHelp.hmx" batchcompile.ini
helpman.exe "D:\Help Project\Widget Two\WidgetTwoHelp.hmx" batchtwo.ini

См. также:

You"re here because you have a file that has a file extension ending in .ini. Files with the file extension .ini can only be launched by certain applications. It"s possible that .ini files are data files rather than documents or media, which means they"re not meant to be viewed at all.

what is a .ini file?

Files in the INI format are generated by the Windows OS to serve as settings files that contain configurations of the Windows-based computer. Also called Windows initialization files, these INI files are appended with the .ini extension and are updated whenever the user or the system makes certain changes to the original or default configurations of the Windows OS. These INI files are used by the system to incorporate into the Windows-based computer the settings and configurations found in these .ini files. An INI file can be opened using a text editor, but this is not recommended to be performed by users without the necessary technical knowledge and experience for changing or editing the configurations and settings that are stored in these Windows initialization files. As of this writing, more recent versions of the Windows OS are implemented with the function of deploying XML files to replace some of the functionalities of these .ini files as default settings files that are used to embed global-wide and user-specific configurations across the Windows OS.

how to open a .ini file?

Launch a .ini file, or any other file on your PC, by double-clicking it. If your file associations are set up correctly, the application that"s meant to open your .ini file will open it. It"s possible you may need to download or purchase the correct application. It"s also possible that you have the correct application on your PC, but .ini files aren"t yet associated with it. In this case, when you try to open a .ini file, you can tell Windows which application is the correct one for that file. From then on, opening a .ini file will open the correct application.

applications that open a .ini file

Microsoft Notepad

Microsoft Notepad

Notepad is a basic text editor used to create plain documents. It is commonly used to view or edit text (.txt) files, and a simple tool for creating Web pages, and supports only the basic formatting in HTML documents. It also has a simple built-in logging function. Each time a file that initializes with .log is opened, the program inserts a text timestamp on the last line of the file. It accepts text from the Windows clipboard. This is helpful in stripping embedded font type and style codes from formatted text, such as when copying text from a Web page and pasting into an email message or other “What You See Is What You Get” text editor. The formatted text is temporarily pasted into Notepad, and then immediately copied again in stripped format to be pasted into the other program. Simple text editors like Notepad may be utilized to change text with markup, such as HTML. Early versions of Notepad offered only the most basic functions, such as finding text. Newer versions of Windows include an updated version of Notepad with a search and replace function (Ctrl + H), as well as Ctrl + F for search and similar keyboard shortcuts. It makes use of a built-in window class named edit. In older versions such as Windows 95, Windows 98, Windows Me and Windows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.

Microsoft WordPad

Apple TextEdit

Apple TextEdit is a text editor program and an open-source word processor too, which is first used in NeXTSTEP and OPENSTEP, but now integrated in most recent versions of Mac OS X. It is also considered a GNUstep application for other operating systems that are Unix based, like Linux computers. This program is operated by Advanced Typography by Apple so expect several advanced typography related features. The main function of this software is to read and write documents in plain text, HTML formats, Rich Text Format, and Rich Text Format Directory. It can also open Simple Text files but does not have the capability to save documents of that format. Mac OS X version 10.3 supports Microsoft Word documents, while Mac OS X version 10.4 can open and save Word documents in XML file. Mac OS X version 10.5 is able to read and write Office Open XML as well as OpenDocument Text. Features included on TextEdit are formatted text support, addition of graphics, animations and other multi-media contents, automatic adjustment of letter spacing, as well as reading and writing support of character encodings.

a word of warning

Be careful not to rename the extension on .ini files, or any other files. This will not change the file type. Only special conversion software can change a file from one file type to another.

what is a file extension?

A file extension is the set of three or four characters at the end of a filename; in this case, .ini. File extensions tell you what type of file it is, and tell Windows what programs can open it. Windows often associates a default program to each file extension, so that when you double-click the file, the program launches automatically. When that program is no longer on your PC, you can sometimes get an error when you try to open the associated file.

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

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

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов INI".

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

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:INI" . Просто замените слово "файл" на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

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

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

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

Формат файла

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

; некоторый комментарий # комментарий в стиле Unix ; комментарий о разделе var1=значение_1 ; иногда допускается комментарий к отдельному параметру var2=значение_2 var1=значение_1 var2=значение_2 ; иногда позволяется перечислять несколько значений через запятую var1=значение_1_1, значение_1_2, значение_1_3 var2=значение_2 ; в Zend Framework массив задаётся следующим способом var1=значение_1_1 var1=значение_1_2 var1=значение_1_3 var2=значение_2 ; Иногда значения отсутствуют Mode= Vid= FolderType=Generic

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

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

Соглашения

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

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

Пример реализации

Рассмотрим код, который обрабатывает заданный корректный ini-файл и выводит его в специальном виде:

int main() { freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); int n; cin >> n; cin.get(); map > mp; string from = ""; for (int i = 0; i < n; i++) { string s; getline(cin, s); for (size_t j = 0; j < s.size();) { if (s[j] == " ") s.erase(j, 1); else j++; } if (s.size() == 0 || s == ";") { continue; } if (s == "[") { s.erase(0, 1); s.erase(s.size() - 1, 1); from = s; mp; } else { mp = s.substr(s.find("=") + 1, s.size() - s.find("=")); } } for (map < string, map > :: iterator it = mp.begin(); it != mp.end(); it++) { if (it -> first != "") { cout << "[" << it -> first <<"]" << endl; } for (map < string, string >::iterator itt = mp.begin(); itt != mp.end(); itt++) { cout << itt -> first << "=" << itt -> second << endl; } } return 0; }

См. также

Напишите отзыв о статье ".ini"

Ссылки

Отрывок, характеризующий.ini

– Сожалею, мадонна. Он лишь сказал, что вы сильно ошибались, и что любовь никому ещё не приносила добра. Если это о чём-то вам говорит, Изидора.
Я лишь кивнула, стараясь собрать свои разлетающиеся в панике мысли. И пытаясь не показать Мороне, насколько потрясла меня сказанная им новость, как можно спокойнее произнесла:
– Разрешите ли подлечить вас, монсеньёр? Мне кажется, вам опять не помешает моя «ведьмина» помощь. И благодарю вас за весть... Даже за плохую. Всегда ведь лучше заранее знать планы врага, даже самые худшие, не так ли?..
Мороне внимательно всматривался мне в глаза, мучительно стараясь найти в них ответ на какой-то важный для него вопрос. Но моя душа закрылась от мира, чтобы не заболеть... чтобы выстоять предстоящее испытание... И кардинала встречал теперь лишь заученный «светский» взгляд, не позволявший проникнуть в мою застывшую в ужасе душу...
– Неужели вы боитесь, мадонна? – тихо спросил Мороне. – Вы ведь тысячу раз сильнее его! Почему вы его боитесь?!..
– Он имеет что-то, с чем я пока не в силах бороться... И пока не в силах его убить. О, поверьте мне, ваше преосвященство, если б я только нашла ключ к этой ядовитой гадюке!.. – и, опомнившись, тут же опять предложила: – Позвольте мне всё же заняться вами? Я облегчу вашу боль.
Но кардинал, с улыбкой, отказался.
– Завтра я уже буду в другом, более спокойном месте. И надеюсь, Караффа обо мне на время забудет. Ну, а как же вы, мадонна? Что же станет с вами? Я не могу помочь вам из заключения, но мои друзья достаточно влиятельны. Могу ли я быть полезным вам?
– Благодарю вас, монсеньёр, за вашу заботу. Но я не питаю напрасных надежд, надеясь отсюда выйти... Он никогда не отпустит меня... Ни мою бедную дочь. Я живу, чтобы его уничтожить. Ему не должно быть места среди людей.
– Жаль, что я не узнал вас раньше, Изидора. Возможно, мы бы стали добрыми друзьями. А теперь прощайте. Вам нельзя здесь оставаться. Папа обязательно явится пожелать мне «удачи». Вам ни к чему с ним здесь встречаться. Сберегите вашу дочь, мадонна... И не сдавайтесь Караффе. Бог да пребудет с вами!
– О каком Боге вы говорите, монсеньёр? – грустно спросила я.
– Наверняка, уж не о том, которому молится Караффа!.. – улыбнулся на прощание Мороне.
Я ещё мгновение постояла, стараясь запомнить в своей душе образ этого чудесного человека, и махнув на прощание рукой, вышла в коридор.
Небо развёрзлось шквалом тревоги, паники и страха!.. Где находилась сейчас моя храбрая, одинокая девочка?! Что побудило её покинуть Мэтэору?.. На мои настойчивые призывы Анна почему-то не отвечала, хотя я знала, что она меня слышит. Это вселяло ещё большую тревогу, и я лишь из последних сил держалась, чтобы не поддаваться сжигавшей душу панике, так как знала – Караффа непременно воспользуется любой моей слабостью. И тогда мне придётся проиграть, ещё даже не начав сопротивляться...
Уединившись в «своих» покоях, я «зализывала» старые раны, даже не надеясь, что они когда-либо заживут, а просто стараясь быть как можно сильней и спокойнее на случай любой возможности начать войну с Караффой... На чудо надеяться смысла не было, так как я прекрасно знала – в нашем случае чудес не предвиделось... Всё, что произойдёт, я должна буду сделать только сама.
Бездействие убивало, заставляя чувствовать себя всеми забытой, беспомощной и ненужной... И хотя я прекрасно знала, что не права, червь «чёрного сомнения» удачно грыз воспалённый мозг, оставляя там яркий след неуверенности и сожалений...
Я не жалела, что нахожусь у Караффы сама... Но панически боялась за Анну. А также, всё ещё не могла простить себе гибель отца и Джироламо, моих любимых и самых лучших для меня на свете людей... Смогу ли я отомстить за них когда-либо?.. Не правы ли все, говоря, что Караффу не победить? Что я не уничтожу его, а всего лишь глупо погибну сама?.. Неужели прав был Север, приглашая уйти в Мэтэору? И неужели надежда уничтожить Папу всё это время жила только во мне одной?!..
И ещё... Я чувствовала, что очень устала... Нечеловечески, страшно устала... Иногда даже казалось – а не лучше ли было и правда уйти в Мэтэору?.. Ведь кто-то же туда уходил?.. И почему-то их не тревожило, что вокруг умирали люди. Для них было важно УЗНАТЬ, получить сокровенное ЗНАНИЕ, так как они считали себя исключительно одарёнными... Но, с другой стороны, если они по-настоящему были такими уж «исключительными», то как же в таком случае они забыли самую простую, но по-моему очень важную нашу заповедь – не уходи на покой, пока в твоей помощи нуждаются остальные... Как же они могли так просто закрыться, даже не оглядевшись вокруг, не попытавшись помочь другим?.. Как успокоили свои души?..