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自体のセキュリティを低下させてしまう可能性もある。
この連載の記事
-
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 -
第430回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る - この連載の一覧へ