[ホーム] - [Windows 11 FAQ 一覧] - [Windows のファイル名で大文字と小文字を区別する設定]



作成日:2023/09/05
更新日:2023/09/05
対象:Windows 11

Windows のファイル名で大文字と小文字を区別する設定




【目次】

Unix系とWindows のファイル名大文字と小文字の区別の歴史


Windows は 歴史上 Unix , Linux 系と異なりファイル名やディレクトリ名で大文字小文字を区別しません。

WindowsとUnixは、それぞれ異なる歴史的背景と設計哲学を持つオペレーティングシステムです。Unixは1969年にAT&Tのベル研究所で開発され、その設計はシンプリシティとモジュラリティに重点を置いています。Unixの多くのバリエーションがあり、それぞれが大文字と小文字を厳格に区別するファイルシステムを持っています。この特性はプログラミング、システム管理、データ処理において柔軟性を提供する一方、注意深い操作が要求される場面もあります。要するにFile.txt と file.txt は違うファイルとして扱われます。

一方で、Windowsは1985年にMicrosoftによってリリースされました。ただしメジャーとなったのは1995年ごろの Windows 95 でしょう。Windowsはもともと個々のユーザー向けに設計され、使いやすさと親しみやすさを優先しています。この設計哲学の一環として、Windowsのファイルシステム(NTFS、FAT、FAT32など)は大文字と小文字を区別しないように設計されています。要するに File.txtとfile.txtは同一のファイルとして扱われます。この二つのファイルは同一フォルダに存在できません。同一ファイルとして扱われるからです。これは一般のユーザーにとっては直感的でわかりやすいスペックであり、日常的なタスクを簡単にする一方、プログラミングやシステム管理においては少々の制限が発生します。

以上の通り、WindowsとUnix での大文字・小文字の扱いの違いは、それぞれのOSが目指すユーザーエクスペリエンスに関連しています。Unixは専門家や開発者が多機能と柔軟性を求める一方、Windowsは広い範囲の一般的、あるいは初心者ユーザーが直感的なインターフェースと簡易性を求める、という違いがこの設計選択に影響を与えていると考えました。

Windows のファイル名で大文字と小文字を区別


ただし Windows 11 ではファイル名で大文字、小文字の区別の設定が可能です。

以下のコマンドは c:\a フォルダでファイルの大文字、小文字の区別を行います。


PS C:\a> fsutil.exe file SetCaseSensitiveInfo c:\a
ディレクトリ c:\a の大文字と小文字を区別する属性が有効になっています。



次の通り 同じフォルダに File.txt と file.txt が作成できました。大文字小文字を区別しているということです。


PS C:\a> dir


ディレクトリ: C:\a


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/09/05 22:38 3 File.txt
-a---- 2023/09/05 22:38 3 file.txt



コマンドの仕様は次の通りです。

PS C:\a> fsutil.exe file SetCaseSensitiveInfo
使用法: fsutil file setCaseSensitiveInfo <ディレクトリ名> [<enable>|<disable>]

値: enable - <ディレクトリ名> の大文字小文字を区別する属性を有効にする
(指定されていない場合の既定値)
disable - <ディレクトリ名> の大文字と小文字を区別する属性を無効にする

例: fsutil file setCaseSensitiveInfo C:\TempFolder enable
fsutil file setCaseSensitiveInfo C:\TempFolder disable



無効にするには次のコマンドを実行します。

PS C:\a> fsutil.exe file SetCaseSensitiveInfo c:\a disable
ディレクトリ c:\a の大文字と小文字を区別する属性が無効になっています。



もしこのコマンドで矛盾が発生した場合は次のエラーが発生してしまいます。(同一フォルダにFile.txt と file.txt がある場合)

PS C:\a> fsutil.exe file SetCaseSensitiveInfo c:\a disable
エラー: このディレクトリには、大文字小文字が違うだけの名前を持つエントリが含まれています。



WSL


以前は WSL (Windows Subsystem for Linux) でのみ可能でしたが、現在のWindows 11 ではWSL以外でも可能でした。

エディション Windows 11 Enterprise Evaluation
バージョン 22H2
インストール日 
OS ビルド 22621.525
エクスペリエンス Windows Feature Experience Pack 1000.22634.1000.0






(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2022

[Windows 11 FAQ 一覧に戻る]