こんにちは、阿久津です。最初に古い時代の話をさせてください。時代は20数年前の1987年頃。筆者はようやく購入できたNEC PC-9800互換機PC-286V上でMS-DOSを楽しんでいました。それまでもPC-8800シリーズと同コンピュータに移植されたCP/Mという簡易的なOSを使っていましたが、16ビット環境における自由度に歓喜し、寝る間も惜しんでいじり倒していたもです。

しかし、学べば学ぶほどMS-DOS独自の制限に不満を持つようになり、当時CUIを採用したOSとして完成度の高かったUNIXに憧憬(しょうけい)の念を持つようになりました。当時のMS-DOSには実装されていなかったcatやlsと言ったコマンドを移植し、擬似的なUNIX環境を作っては自己満足に浸っていたものです。今思えば、無意味なほど溢れる情熱と、今では考えられないほど確保できる自由時間を持つ10代だからこそ、できた遊びだったのでしょう。

このような背景のなかで学んだのが、UNIXにおけるホームディレクトリの概念です。そもそも筆者がコンピュータで遊んでいた時代は、"マイコンピュータ(マイコン)""パーソナルコンピュータ(パソコン)"といった言葉が出始めた頃で、筆者の回りでは「目の前のコンピュータは自分だけのもの」。個人レベルでは「ネットワークって何?」といった状況でした。

このような状況下で出会ったのが、前述のホームディレクトリ。自身専用のコマンドやファイルを格納するためのスペースであり、文字どおりホーム(家)となるディレクトリでした。この概念はUNIX互換OSであるLinuxにも用いられています(図01)。

図01: 画面は端末エミュレータ「PuTTY ごった煮版」でDebian GNU/Linuxに接続した例。ホームディレクトリが現在のディレクトリとなります

さて、話はWindows OSに移りますが、同OSにホームディレクトリという概念が導入されたのは、Windows 2000から。改めて説明するまでもなく、Windows OSには、個人向け16ビットOSであるWindows 9x系と企業向け32ビットOSであるWindows NT系が存在し、両方のプロダクトを統合したのが、Windows 2000です。ルートフォルダーに「\Documents and Settings」フォルダーを用意し、デスクトップフォルダーやドキュメントフォルダー、お気に入りフォルダーといった各ユーザー専用フォルダーを設けました(図02)。

図02: Windows OSにホームディレクトリ的概念が導入されたのは、Windows 2000からです

しかし、このロジックはWindows XPまで。前バージョンであるWindows Vistaからは「\Users」フォルダーを用意し、従来の「\Documents and Settings」フォルダーは互換性維持のため、「\Users」フォルダーに対するジャンクション(ソフトリンク)に変更されています。しかし、ジャンクション自体はフォルダーに対するリンクに限定されているため、同フォルダー上でファイルを作成しても、「\Users」フォルダーにファイルが生成されるわけではありません。そういう意味では無用の長物と言えるでしょう(図03~05)。

図03: Windows Vista以降は「\Users」フォルダーが導入され、従来の「\Documents and Settings」フォルダーはジャンクションに変更されました

図04: コマンドプロンプト上で「\Documents and Settings」フォルダーに移動し、ファイルの作成を行なっても実際にファイルは生成されません

図05: エクスプローラーから「\Documents and Settings」フォルダーにアクセスしますと、「アクセスが拒否されました」というエラーが発生します

それでもWindows Vista以降は、環境変数「USERPROFILE」でログオンしたユーザーのホームフォルダーを値として保持しています。もちろんバッチファイルに代表されるスクリプトやプログラムから使用できますが、エンドユーザーレベルでは参照する機会はあまりありません。ユーザーはデスクトップを一時フォルダーとするのではなく、もっとユーザーフォルダーを活用すべきではないでしょうか(図06)。

図06: 環境変数「USERPROFILE」では、ログオンユーザーのホームフォルダーが設定されています

Windows 7におけるユーザーフォルダーの参照方法を確認しますと、<スタート>メニューに並ぶユーザー名をクリックするか、「ファイル名を指定して実行」から前述の環境変数「USERPROFILE」を展開させるぐらいしかありません。環境変数はエクスプローラーのアドレスバーからも使用できますが、瞬時にユーザーフォルダーを開くという観点からは、あまり有益とは言えません(図07~08)。

図07: <スタート>メニューに並ぶユーザー名をクリックすることで、ホームフォルダーが開きます

図08: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「%userprofile%」と入力してから<OK>ボタンをクリックしても、ホームフォルダーが開きます

そこで今回は、ユーザーフォルダーをコンテキストメニューから一発で開くレジストリチューニングをお送りしましょう。

1.[Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力してから<OK>ボタンをクリックします。
2.レジストリエディターが起動したら、HKEY_CLASSES_ROOT \ Directory \ Background \ shellキーまでたどって開きます
3.shellキーを右クリックし、メニューから<新規>→<キー>とクリックします。名前を「User Folder」に変更してください。
4.User Folderキーを開いてから、右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します
5.文字列値名を「Icon」に変更します。
6.文字列値「Icon」をダブルクリックで開き、値のデータに「imageres.dll,-123」と入力して<OK>ボタンをクリックします。
7.User Folderキーの「(既定)」をダブルクリックで開き、値のデータに「Users(&0)」と入力して<OK>ボタンをクリックします。
8.User Folderキーを右クリックし、メニューから<新規>→<キー>とクリックします。キー名を「command」に変更してください。
9.commandキーを開いてから、「(既定)」をダブルクリックします。値のデータに「C:\Windows\explorer.exe /e,::{59031a47-3f72-44a7-89c5-5595fe6b30ee}」と入力して<OK>ボタンをクリックします。
10.[F5]キーを押してから<×>ボタンをクリックして、レジストリエディターを終了させます。

これでチューニング終了です(図09~20)。

図09: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図10: レジストリエディターが起動したら、HKEYCLASSESROOT \ Directory \ Background \ shellキーまでたどって開きます

図11: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図12: キー名「新しいキー #1」の名称を「User Folder」に変更します

図13: User Folderキーを選択してから、右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します

図14: 文字列値「新しい値 #1」の名称を「Icon」に変更します

図15: 文字列値「Icon」をダブルクリックで開き、値のデータに「imageres.dll,-123」と入力して<OK>ボタンをクリックします

図16: 同キーの「(既定)」をダブルクリックで開き、値のデータに「Users(&0)」と入力して<OK>ボタンをクリックします

図17: User Folderキーを右クリックし、メニューから<新規>→<キー>とクリックします

図18: キー名「新しいキー #1」の名称を「command」に変更します

図19: 同キーの「(既定)」をダブルクリックで開き、値のデータに「C:\Windows\explorer.exe /e,::{59031a47-3f72-44a7-89c5-5595fe6b30ee}」と入力して<OK>ボタンをクリックします

図20: あとは[F5]キーを押して変更内容をシステムに反映させてから、レジストリエディターを終了します

早速結果を確認してみましょう。デスクトップの何もないところを右クリックしますと、コンテキストメニューに「Users(0)」という項目が加わり、同項目をクリックすることで、ユーザーフォルダーがエクスプローラーで開きます。これでユーザーフォルダーへのアクセスがスムーズになりました(図21)。

図21: デスクトップの何もないところを右クリックすると表示されるコンテキストメニューに<Users>が加わります

今回はショートカットキーとして[0]キーを割り当てましたが、異なるキーや項目名を変更したい場合は、HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ User Folderキーの「(既定)」を開き、データ値を変更します。また、不要になった場合は、User Folderキー自体を削除してください。

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

阿久津良和(Cactus)