From Wikipedia, the free encyclopedia
An initialization file, or INI file, is a
configuration file that contains configuration data for
Microsoft Windows based applications. Starting with
Windows 95, the INI file format was superseded but not
entirely replaced by a
registry database in
Microsoft
operating systems. Recently,
XML
became the standard of choice for encoding configuration, as
well as other kinds of data for many applications, but INI
format is still in use, largely due to its simplicity.
Although made popular by Windows, INI files can be used on
any system thanks to their flexibility. They allow a program to
store configuration data, which can then be easily parsed and
changed.
|
Contents
-
1
File Format
-
1.1
Format
-
1.2
Differences
-
2
See also
-
3
External links
-
3.1
Detailed Specifications
-
3.2
Programming Libraries
|
File Format
A typical INI file might look like this:
[section1]
; some comment on section1
var1 = abc
var2 = 451
[section2]
; another comment
var1 = 123
var2 = dfg
Format
This describes the elements of the INI file format:
- Sections: Section declarations start with '[' and
end with ']' as in [section1] and [section2] above. And
sections start with section declarations.
- Parameters: The "var1 = abc" above is an example
of a parameter (also known as an item). Parameters
are made up of a key ('var1'), equals sign ('='), and a
value ('abc').
- Comments: All the lines starting with a semicolon
(';') are assumed to be
comments, and are ignored.
Differences
The format of INI files is not well defined. Many programs
interpret their structure differently than the basic structure
that was defined in the above example. The following is a basic
list of some of the differences:
- Quoted values: The Microsoft Windows
implementation (see:
GetPrivateProfileString in
MSDN) will remove quotation marks (apostrophes,
backquotes and double-quotes) that surround INI file values.
- Comments: Programs like
Samba accept either ';' or '#' as comments. Comments can
be added after parameters with several formats.
- Backslashes: Adding a backslash '\' allows you to
continue the value from one line to another. Some formats
also allow various escapes with a '\', such as '\n' for
newline.
- Duplicate parameters: Most of the time, you can't
have two parameters with the same name in one section.
Therefore one can say that parameters are local to the
section. Although this behavior can vary between
implementations, it is advisable to stick with this rule.
- Duplicate sections: If you have more than one
section with the same name then the last section overrides
the previous one. (Some implementations will merge them if
they have different keys.)
- Some implementations allow ":" in place of "=".
See also
-
WIN.INI
-
SYSTEM.INI
-
sysconfig
External links
Detailed Specifications
Since there is no real standard detailed specification, the
following is a list of links to unofficial ones:
-
http://cloanto.com/specs/ini.html
-
INI grammar
LL(1) grammar used by
aini2plist, an INI file to plist converter
Programming Libraries
The following is a listing of
programming libraries for INI files:
-
GetPot: Configuration File Parser. Providing also a
simple LISP-like language for substitution, concatination,
and numerical operations inside INI-Files.
-
ini4j: Open Source Java Ini File Reader
-
ConfigObj: A pure Python module for reading and writing
INI files, with an extended syntax for nested sections
-
Nini: Configuration library for the
Microsoft .NET Framework and
Mono development platform.
-
SimpleIni:
C++
INI configuration file library. Provides easy cross-platform
(Windows/Linux/Unix) read and write access to INI
configuration files. Fully Unicode/MBCS/UTF-8 aware on all
platforms.
-
iniParser: stand-alone INI
parser library in
ANSI C
-
LeoINI:
C++
INI
parser
-
ConfigParser:
Python's standard INI parsing module.
-
Config::IniFiles:
Perl INI parser
-
inifile :
Tcl
INI file library
-
parse-ini-file :
PHP
INI parser
-
SDL_Config :
C/C++
INI parser, connected with
SDL
-
program_options :
C++
-
Boost's toolkit for processing configuration data given
on command line, in files and other sources, from Vladimir
Prus.
-
inifile - INI configuration file command line editor for
use with Windows and MS-DOS batch files.
-
IniFile : Open source Java INI file reader and writer
Categories:
Computer data |
Configuration files