web-dev-qa-db-ja.com

NTFSで大文字と小文字が区別されるのはなぜですか?

個人的には、NTFSは大文字と小文字を区別しないと思っていました。cmd、CMD、cMd、またはCmDと入力しても、コマンドプロンプトが表示されるためです。ただし、なぜCHKDSK x: /f /r、時々それはいくつかのファイルの大文字を修正しますか?ケースが問題にならない場合、それは問題にならず、CHKDSKは、それが実際にCMDまたはcmdであるかどうかを確認してはなりません。私は正しいですか?それは実際にはファイルシステムのどこに関係がありますか?

25
Canadian Luke

ファイルシステムの大文字と小文字の区別は、オペレーティングシステムの場合とは別の問題です。最新のWindowsリリースはNTカーネルに基づいており、非NT Windows 95およびMS-DOSの多くのプロパティを継承しています。 NTカーネルとともに、ファイルシステムNTFSは大文字と小文字を区別するように設計されています POSIX準拠 になるように設計されています。

Win32サブシステムは、大文字と小文字の区別だけが異なるファイル名をサポートしていませんが、より低いレベルのシステムコールでそれらのファイルを作成することは可能です。

35
Frank

実際に問い合わせているのはNTFSではありません。

NTFSはファイルシステムです。あなたの質問は、Windowsコマンドシェルの大文字と小文字の区別についてです。それらは完全に異なります。 Windowsエクスプローラは、グラフィカルコマンドシェルです。 cmd(たとえば、[スタート]、[ファイル名を指定して実行])を入力すると、Windowsコマンドシェルにコマンドcmd(実際には別のコマンドシェルですが、グラフィカルではなくコマンドラインベース)を実行するように指示します。 )。

同様に、CHKDSKは、CMDとcmdのどちらを使用したかについて、いかなる種類のチェックも行いません。 CHKDSKが認識しているのは、渡したパラメーター(この場合はx:、/ f、/ r)だけです。

CHKDSKの「大文字の修正」に関しては、そこでの意味がよくわかりません。

7
squillman

Chkdsk.exeが「一部のファイルの大文字の修正」であるという質問者の主張は、実際には、いくつかの状況で発生するCHKDSKからのメッセージによって促されます。

大文字ファイルのエラーを修正する

基本的に、これは、Windows XPバージョンのchkdsk.exeが、で説明されているように、新しいバージョンのWindowsでフォーマットされたNTFSボリュームに対して実行されている)から発生します。 Windows XPベースまたはWindows Server 2003ベースのコンピューターでChkdsk.exeを実行すると、エラーメッセージ:「大文字のファイルのエラーを修正しています」。つまり、これは実際にはエラーではなく、大文字と小文字の区別とは関係ありません。

5
kreemoweet