INI ファイル形式とは?
.ini ファイルは、Windowsやその他のオペレーティングシステム上のアプリケーションの設定データを保存します。1985年頃の初期の Windows 時代に win.ini や system.ini とともに導入されたこの形式は、その起源を超えて Linux、macOS、およびクロスプラットフォームソフトウェアへと広く普及しました。
.ini は、セクションと「キー=値」のペアという明確に定義された構造を使用して、アプリケーションの設定情報を保存するプレーンテキスト形式です。セクションヘッダーは [General] のように角括弧で囲まれて表示され、その下のすべてのキーと値の行はそのセクションに属します。コメントはセミコロン(;)で始まりますが、一部のパーサーは # も受け入れます。公式な仕様が存在しないため、パーサーの動作は実装によって異なります。密接に関連する形式には、.cfg、.conf、およびより新しい .toml があります。
.ini ファイルを手動で編集することはできますか?
.ini ファイルはデータをプレーンテキストで保存するため、人間が完全に読み取ることができ、任意のテキストエディタで手動編集が可能です。.ini ファイルに構文エラーがあると、それを使用するアプリケーションやプログラムが正しく動作しなかったり、起動できなくなったりする場合があるため、編集は慎重に行う必要があります。
.ini ファイルを削除しても安全ですか?
.ini ファイルの削除は強く推奨されません。desktop.ini などのシステムレベルのファイルは、通常、隠し属性が有効になっており、デフォルトのフォルダビューには表示されません。特定の .ini ファイルについては、削除された場合に Windows が自動的に欠落したファイルを生成します。これは、フォルダの表示設定を決定する desktop.ini の場合が該当します。このファイルが存在しない場合、Windows はデフォルト設定でファイルを自動的に生成します。
セキュリティと安全性
リスク: MEDIUMテキスト形式の .ini は、開いて読む分には安全です。実行されることはありません。本当のリスクは「編集」にあります。.ini はプログラムの起動や動作を制御することが多いため、不正な値、タイポ、誤った文字がアプリケーションを壊す可能性があります。変更を加える前に必ずオリジナルをバックアップにコピーし、プレーンテキスト/コードエディタを使用し(書式を追加するワードプロセッサは不可)、一度に1つの設定を変更してください。信頼できないソースからダウンロードした «最適化» .ini ファイルには注意してください。設定によってプログラムが予期しないパスを参照させられる可能性があります。desktop.ini は通常の Windows システムファイルであり、マルウェアではありません。
形式の詳細
概要INI ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルタイプ | プレーンテキスト設定ファイル |
| 構造 | 個別の行に「キー=値」のペアを含む、名前付きの [セクション] |
| セクション構文 | 独立した行に角括弧で囲まれたセクション名(例:[Database]) |
| キー=値 構文 | キー=値。= 記号の周囲のスペースは任意であり、パーサーによって処理が異なります |
| コメント文字 | セミコロン(;)が標準的なコメント接頭辞です。一部のパーサーはハッシュ(#)も受け入れます |
| エンコーディング | 通常は ANSI (Windows-1252) または UTF-8。Windows API は BOM 付きの UTF-16 LE も受け入れます |
| ファイルシグネチャ | なし - マジックバイトはありません。ファイルは [セクション] / キー=値 のテキスト構造によって識別されます |
| MIMEタイプ | text/plain |
| 改行コード | Windows では CRLF (\r\n)。ほとんどの現代的なパーサーは LF のみも受け入れます |
| 大文字・小文字の区別 | Windows API ではセクション名とキー名は区別されません。サードパーティ製パーサーでは異なります |
| ネスト | ネストされたセクションのネイティブサポートはありません。構造は意図的にフラットです |
| データ型 | すべての値はプレーンな文字列です。型変換(整数、ブール値など)は読み取り側のアプリケーションに委ねられます |
| 重複キー | 元の形式では動作は未定義です。一般的なパーサーは「最初の値を優先」または「最後の値を優先」戦略を使用します |
| Windows API 関数 | プログラムから値を読み書きするための GetPrivateProfileString および WritePrivateProfileString |
| 複数行の値 | 元の形式ではサポートされていません。一部の拡張パーサーでは、末尾のバックスラッシュによる行の継続を許可しています |
| リリース日 | Early Windows (1985, Windows 1.0 era); win.ini / system.ini popularized the format |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | en.wikipedia.org |
INI の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。INI ファイルについて最初の質問をしてみましょう。