Windowsにおいて、「フォルダー」と「ディレクトリ」は
実は厳格に区別されている
Windowsにおけるフォルダー(Folder)とディレクトリ(Directory)の違いをご存じだろうか? Windowsにおいてフォルダーとは、「仮想フォルダー」(Virtual folder)と「ファイルシステムフォルダー」(File system folder)からなるオブジェクトであり、ディレクトリとはファイルシステムフォルダーのみを指すオブジェクトだ。MS-DOS時代には、仮想フォルダーがなかったので、すべてディレクトリーと呼んでいた。
このため、今でもフォルダーの意味でディレクトリと呼ぶ人がいて、意味が曖昧になっているが、少なくともWindowsの中では厳密に区別されている。レジストリのHKEY_CLASSES_ROOTにあるprogidの中に「Folder」「Directory」があり、それそれ違った役割を持っている。このレジストリエントリは、エクスプローラーでフォルダーやディレクトリなどを右クリックしたときの拡張項目などを定義するのにも使われている。
このあたりに関しては、以下の過去記事を参考にしてほしい(「エクスプローラーの右クリックメニューをカスタマイズする」)。Windows 8.1の頃の記事だが、Windows 10でもこの部分は変わっていない。
気づかない人もいるかもしれないが、
どのWindowsマシンにも「仮想フォルダー」は存在する
Windowsでの代表的な仮想フォルダーとしては「コントロールパネル」がある。また、プログラムがAPI(シェル名前空間拡張API)を使い、仮想フォルダーを登録することができる。仮想フォルダーの仕組みはWindows 95で導入され、このときMS-DOS以来のディレクトリと仮想フォルダーを合わせてフォルダーと総称することになった。
ディレクトリ(ファイルシステムフォルダー)は、実際には特殊なファイルであり、その中に属するファイルのリストを保持している。また、ディレクトリもファイルの1種なので、ディレクトリに含めることができ、このような構造を「サブディレクトリ」や「子ディレクトリ」という。
MS-DOSは、最初のバージョンではディレクトリを持たなかったが、2.0で利用できるように改良された。このあたりに関しても、以下の過去記事を参照いただきたい(「Windowsのパス区切り文字は、なぜ逆スラッシュになったのか?」)。
Windows 95では、COM技術を使った「コンポーネント」(オブジェクト)が、OSの機能ブロックとして採用され、コンポーネントを追加していくことで機能拡張もできるようになった。このときに、エクスプローラーもCOM技術を使って機能拡張ができるように作られ、その仕組みの1つとして「仮想フォルダー」機能が組み込まれた。
コントロールパネルは、Windows 1.0から存在するWindowsの機能だが、Windows 95より前は、単独のアプリケーション(contrl.exe)だった。そしてWindows 95でエクスプローラーの仮想フォルダーとして実装された。現在のコントロールパネルも仮想フォルダーであり、サードパーティ製アプリケーションもコントロールパネルにプロパティアイコン(アプレットと呼ばれることもある)を追加できるようになっている。
仮想フォルダーは、エクスプローラーが持つ機能を利用することができる。たとえば、「プログラムと機能」は、メニューの「表示」を使うと、ファイルウィンドウ(エクスプローラーのファイル表示領域)のように特大アイコンやコンテンツ表示形式が利用できる。
また、「詳細」表示にして、カラムヘッダーをカスタマイズすることも可能だ。
コントロールパネルのプロパティアイコンのうち、右クリックして「開く」と「ショートカットの作成」の2項目しか表示されないものは、直接プログラムを起動するアイコンである。
後者の「ショートカットの作成」はどのアイコンにも表示されるので、アイコン固有のメニュー項目は「開く」だけだ。しかし、前述の「プログラムと機能」などでは、「クイックアクセスにピン留めする」など、複数のアイコン固有のメニュー項目がある。これは、エクスプローラーの仮想フォルダー機能の中で、エクスプローラーが提供する機能を使ったもの。この機能ではエクスプローラーのファイルウィンドウにアプリケーションの表示することができる。
このほか、仮想フォルダーにはWindows Vistaで導入されたライブラリ、Windows 95のブリーフケースなどがある。しかし、MicrosoftはWindows 7以降、仮想フォルダーの利用に消極的で、ライブラリなども機能としては残るものの、標準では見えない状態にしてある。
というのも、仮想フォルダーなどのエクスプローラーの拡張機能は、エラーが発生すると致命的な状況が起きやすく、システムが脆弱になる可能性が高いからだ。また、サードパーティのプログラムが、Windows側にコンポーネントとして組み込まれると、そのセキュリティホールなどがWindows自体のセキュリティを低下させてしまう可能性もある。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ














