desktop.ini を編集する(フォルダのカスタマイズ)

desktop.ini とは?

Windows で使用されるファイルやフォルダーの表示方法に関する情報が含まれているシステム用の設定ファイルです。

desktop.ini は、システムファイルであるため、初期設定は非表示であり表示されません。ですが、「フォルダーオプション」表示タブの「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外すことで表示することができます。

※フォルダーオプションの表示方法
 [エクスプローラー] > [リボン] > [表示] > [オプション]
 [コントロールパネル] > [デスクトップのカスタマイズ] > [エクスプローラーのオプション]

desktop.ini を削除できるのか?

削除は可能です。ただし、 desktop.ini の格納フォルダ(サブフォルダーを含む)に適用されていた設定が失われます。また、マイドキュメントやデスクトップなどの Windows の初期設定で配置してある。 desktop.iniを削除するとフォルダ名やアイコンなどの標準設定が失われてしまいます。

それでも問題ないよという人は、削除して問題ありません。もしも、説明がわからない場合は、削除しない方が懸命です。

※Windows の初期設定で配置されている desktop.ini の削除は推奨できません。

desktop.ini を独自に作成する

desktop.ini は、テキストファイルであるため、作成することが可能です。ただし、隠しファイル属性とシステムファイル属性を付与しなければ desktop.ini として機能しません。

テキストファイルの作成は、 Windows 標準のメモ帳で作成できます。
保存形式は、「UTF-8N」「CRLF改行」もしくは、「UTF-16LE」「CRLF改行」としてください。
(下記の「desktop.iniを即時反映する」で自動的に作成できる形式は「UTF-8N」で、 Windows 標準でデスクトップ等にある形式は「UTF-16LE」です)

テキストファイルには、attribコマンドでシステムファイル属性と隠しファイル属性を付与できます。

attrib +h +s desktop.ini

※下記の「desktop.iniを即時反映する」ならば、attribコマンドなしで作成できます。
※隠しファイル属性のみ、システムファイル属性のみが既に設定されている場合、もう一方の属性を設定できません。同時に両方の設定を指定して下さい。もしも、片方のみ設定してしまった場合、一時的に片方の設定を解除してから再度両方の設定を指定して下さい。

desktop.ini を即時反映する

desktop.ini を作成・変更しただけでは、エクスプローラー上の表示は即座に反映しません。これは、常に最新の desktop.ini をエクスプローラー側が読み込まないために発生します。エクスプローラーとしては、システムファイルである desktop.ini をユーザーが編集するとは考えていないためだと考えられます。

desktop.ini を反映させる方法を次に示します。

  • Windows を再起動する
  • Windows をサインアウト/サインインする
  • explorer.exe を再起動する
    • タスクマネージャー等から再起動できる
  • [対象のフォルダ内で右クリック] > [このフォルダーのカスタマイズ(F)...] フォルダプロパティのカスタマイズタブを表示するのでそのまま [OK] を選択する
    • エクスプローラー側で desktop.ini を作成/更新する
      • 存在しない場合、新規作成する
      • 存在する場合、[フォルダーの種類]を追記する
        • 隠しファイル属性・システムファイル属性がない場合、合わせて付与する
    • エクスプローラー側の desktop.ini 更新でユーザー設定の内容も反映される
フォルダのカスタマイズ

desktop.ini の項目指定方法

項目の指定方法として、直接指定とdll等のリソースIDを指定する方法があります。また、コメントを併記することもできます。

[.ShellClassInfo]

; 直値指定
LocalizedResourceName=デスクトップ

; リソースID指定
;LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769
;IconResource=%SystemRoot%\system32\imageres.dll,-183

; 行頭に「;」でコメントアウト
; name=value でパラメータ(もしくはエントリ)の設定
; [section] でセクションの指定

※INIファイルについては、 Wikipedia の記述が参考になります。
 INIファイル - Wikipedia

[.ShellClassInfo]

エントリ備考
LocalizedResourceNameローカライズリソース名
InfoTip情報テキスト文字列カーソルを置いた際に表示する情報
IconResourceIconFile,IconIndex
IconFile.icn, .exe, .dllIconIndex エントリの設定が必要
IconIndexカスタムアイコンインデックスIconFile が単一アイコンなら 0 を指定

LocalizedResourceName

フォルダ名をローカライズリソース名で表示する。

[.ShellClassInfo]
LocalizedResourceName=デスクトップ
;LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769

主に Windows の国際化のために使用されています。
(例:C:\Users[ユーザ名]\Desktop → 「デスクトップ」)
コメントアウトすることで、日本語環境の Windows でローカライズなしのフォルダ名で表示することができます。

※エクスプローラーでローカライズ済みのフォルダ名を変更した場合、ローカライズ名が変更されます。
 元々のフォルダ名は変更されません。
 desktop.ini 内のローカライズフォルダ名が変更されます。

InfoTip

マウスをファイル・フォルダ上にのせた際に、簡易な情報を表示する。

[.ShellClassInfo]
InfoTip=InfoTipTest

IconResource

指定アイコンでフォルダーアイコンを表示する。

[.ShellClassInfo]
IconResource=%SystemRoot%\system32\imageres.dll,-184
IconFile=%SystemRoot%\system32\imageres.dll
IconIndex=-184

※ IconResource は、 Vista 以降の新機能
※ IconFile, IconIndex は、 IconResource の下位互換用の機能
※ IconResource がある場合、 IconResource を優先

[LocalizedFileNames]

フォルダ内のファイル名を変更する。

[LocalizedFileNames]
test.txt=TEST
; フォルダ内の [test.txt] ファイルを [TEST.txt] と表示する。

test2.txt=XXXX
; フォルダ内の [test2.txt] ファイルを [XXXX.txt] と表示する。

※拡張子を表示していない場合、拡張子は表示されない。

[ViewState]

フォルダーの種類・フォルダーの画像は、 desktop.ini では変更できない?

[ViewState]
Mode=
Vid=
FolderType=Generic
; FolderType=Generic/Documents/Pictures/Music/Videos
Logo=
; Logo=C:\Path\File

下記方法でエクスプローラーから設定する。

  • [フォルダ内で右クリック] > [このフォルダーのカスタマイズ(F)...]
    • フォルダーの種類
    • フォルダーの画像

使用例

  • 「マイドキュメント」「マイピクチャ」等の標準ローカライズを取り消す
    • 「Documents」「Pictures」等のローカライズなしの表示にする
  • 特別なフォルダに指定のアイコンを設定する
    • 配布するCD・ゲーム・ソフトウェア等に利用する
  • フォルダ内のファイル名を偽装する
    • ...

参考