こんにちは。阿久津です。今年も残すところあと数日。本連載も、今回が年内最後の掲載となります。来年2009年は次世代OSとなるWindows 7がリリースされるのではないか、という噂があります。しかし、Windows Vistaを急いでリリースし、完成度の低さからユーザーや市場にそっぽを向かれている現状を踏まえますと、2009年中に我々が目にするのはベータテスト止まりではないかと見ています。本連載はもちろん本誌でも新しい情報を逐一ご報告しますので、ご興味のある方は是非ご覧ください。

さて、Windows 7でもマイナーアップデート程度で、大きな変化はないと思われるExplorer(エクスプローラ)ですが、Windows Vistaでは、ファイル属性の設定を行なう「desktop.ini」が多用されています。従来は一般的なフォルダと異なる加工を施すために使用され、古いところではWindows 98のタスクフォルダ、Windows 2000のMy Picturesフォルダで用いられてきました(図1)。

図1: 画面はWindows 2000のMy Picturesフォルダ。フォルダアイコンを加工するために用いられています

以前よりも多言語化が進められたWindows Vistaでは、「.ShellClassInfo」セクションに対して、新たに「LocalizedResourceName」を設け、フォルダに別名を付けられるようになりました。元々英語を基準にしているWindows Vistaは、同機能に一部の多言語化機能を担わせています。例えば普段から使用するデスクトップフォルダは、「%USERPROFILE% \ デスクトップ」とエクスプローラからは見えますが、コマンドプロンプトを開いて「cd デスクトップ」と実行してもエラーが帰ってくることでしょう。これは実フォルダ名が「Desktop」だからです(図2)。

図2: エクスプローラでは「デスクトップ」と表示されているにも関わらず、コマンドラインからデスクトップへアクセスするには「cd デスクトップ」ではなく、「cd Desktop」と実行します

エクスプローラでは「デスクトップ」、コマンドラインからは「Desktop」と名称が異なるポイントは、今回のテーマであるDesktop.iniに隠されています。フォルダの表示オプションを変更し、システムファイルの非表示を解除しますと、デスクトップにはふたつのdesktop.iniファイルが表示されます(図3)。

図3: フォルダの<ツール>メニュー→<フォルダのオプション>→<表示>タブと開き、一覧になる<すべてのファイルとフォルダを表示する>をチェックします。次に<保護されたオペレーティングシステムファイルを表示しない>のチェックを外しますと、確認をうながすダイアログが表示されますので、<はい>ボタンをクリックしてください。最後に<OK>ボタンをクリックしてダイアログを閉じます

なぜdesktop.iniがふたつもあるのかと言えば、ひとつは自身のデスクトップにある個人用desktop.ini、もうひとつはパブリックフォルダのデスクトップ(%PUBLIC% \ デスクトップ)にある、パブリック用desktop.iniが同時に表示されるからです。各desktop.iniファイルをメモ帳などで開くとわかるように、前述したLocalizedResourceNameが記述され、日本語を使っている場合は文字列リソースとして、「@%SystemRoot% \ system32 \ shell32.dll,-21799」が定義されています(図4)。

図4: これでふたつのdesktop.iniがデスクトップに表示されました。プロパティダイアログを確認しますと、ひとつはパブリック用、もうひとつは現アカウント用であることが確認できます

内容は若干異なり、個人用desktop.iniでは、フォルダアイコンをしめす「IconResource」も記述されていることにお気づきでしょうか。これが緑色を基調とした各フォルダのアイコンと名称を制御しているのです。それではこの個人用desktop.iniをカスタマイズしてみましょう(図5)。

図5: 内容は若干異なり、個人用desktop.iniでは、デスクトップフォルダのアイコンをしめすIconResourceが定義されています

  1. デスクトップにある個人用desktop.iniをダブルクリック。
  2. 「LocalizedResourceName=」の文字列を任意のものに変更。
  3. 変更を加えたdesktop.iniを保存する。
  4. デスクトップフォルダが開いている場合は一度閉じてから新たに開く。

これで設定完了です。今回はステップ2でLocalizedResourceNameの文字列を「デスクトップです」と書き換えたため、デスクトップフォルダのフォルダ名がかわりました。また、IconResourceの文字列を変更すればアイコンも変更されます(図6)。

図6: 「LocalizedResourceName=」の文字列を変更するとフォルダの名称がかわり、「IconResource=」でアイコンリソースを持つファイルを指定するとアイコンがかわります

このようにフォルダ名やアイコンを制御するdesktop.iniですが、結局のところフォルダ名とアイコンの指定にしか使われていないことになります。エクスプローラから見ると「デスクトップ」、コマンドラインでは「Desktop」と異なる表記に違和感を覚える方は以下の手順を実行してください。

  1. [F3]キーを押して検索ウィンドウを開く。
  2. 「高度な検索」をクリックして詳細情報を表示する。
  3. 「場所」のドロップダウンリストから「検索先の選択」をクリック。
  4. ダイアログでユーザーフォルダにチェックを入れ、<OK>ボタンをクリック。
  5. <インデックスないファイル、隠しファイルおよびシステムファイルを含む>にチェックを入れる。
  6. <検索>ボタンをクリック。
  7. 一覧表示された「desktop.ini」を[Ctrl]+[A]キーを押してまとめて選択。
  8. そのまま右クリックし、メニューから<削除>を選択
  9. 確認をうながすダイアログが表示されたら<はい>ボタンをクリック。

これで操作完了です。わかりにくい方は図7の画面を参考にしてください。また、ファイルが存在しないことを示すダイアログが表示された場合、すでにファイルは削除済みですので、操作をスキップしましょう。ちなみにdesktop.iniは隠しファイル属性およびシステムファイル属性が付いているため、クイック検索では列挙できません(図7~8)。

図7: クイック検索では隠しファイルなどが表示されないため、高度な検索からdesuktop.iniを検索して削除します

図8: ファイルが存在しないことをしめすダイアログが表示されたら、<すべての項目にこれを実行する>にチェックを入れてから、<スキップ>ボタンをクリックします

この操作を終えてからユーザーフォルダを開きますと、フォルダ名がすべて基準となる英語となり、フォルダアイコンもなくなっています。シンプルな構成が好きな方はこちらの操作をお試しください(図9)。

図9: 画面左は標準の状態、画面右はすべてのdesktop.iniファイルを削除したものです

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)