Windowsのすべてのバージョンで大文字と小文字は区別されませんか?


18

私は、Windows OSが(一般的に)大文字と小文字を区別しないことを知っています。これはすべてのWindows OS(Windows 95からWindows 7まで)に当てはまりますか?Windowsの大文字と小文字を区別するレジストリ設定はありますか?


2
はい、この属性が継承されたMS-DOSのすべてのバージョンと同様です。(もちろん、MS-DOSは大文字と小文字を保持しなかったため、状況は前進しました:
リチャード

何に関して大文字小文字を区別しませんか?ファイル名?パスワード?
ピーターモーテンセン14年

回答:


15

はい、これはすべてのバージョンのWindowsに当てはまります。Windowsの大文字と小文字を区別する方法はありません。ただし、元々Unix / Linux用に開発され、その後移植された一部のアプリでは大文字と小文字が区別される場合があることに注意してください。たとえば、Cygwinでは大文字と小文字が区別されます。ただし、この動作は非常にまれです。


7
「Windowsの大文字と小文字を区別する方法はありません。」ではない、非常に正確。他の回答で説明されているように、Windowsの一部で大文字と小文字を区別する方法があります。
sleske

しかし、ユーザーの観点からは、Windowsファイル名は大文字と小文字を区別せず、それを変更する(簡単な)方法はありません。
sleske

Windowsの一部の側面では大文字と小文字を区別できますが、他のPCの機能に依存しています。実際にLinux PC上にある共有ディレクトリに保存すると、大文字と小文字が区別されるファイル名を使用できます。これは@sleskeが言ったようにFILESYSTEMによるものであり、「Windows」
だからではなく-UtahJarhead

1
これは完全に真実ではありません。Windows Services for UNIXでは、Windowsのサーバーバージョンと一部のデスクトップバージョンで大文字と小文字を区別することができます。
ケルタリ

1
@Mattこの回答は正しくありません(ただし、適切な回答が投稿されています)。大文字と小文字の区別を有効にしていないだけです。 superuser.com/questions/266110/…testfileとTestfileという名前のファイルを作成する必要があります。 /bIn/BaSh私のシステムでは動作しません。
ウィリアム

8

実際、これはあなたの(プログラム)が使用するAPI / Windowsサブシステムに依存します。

Windows API」(Windowsアプリの標準)を使用する場合、ファイル名は大文字と小文字を区別しません。ただし、POSIXサブシステム(別名Windows Services for Unix)を使用している場合は、大文字と小文字を区別することができます。

たとえば、このMSサポート記事を参照してください。WindowsXPおよびInterixサブシステムまたはSFUで大文字と小文字を区別する動作を有効にします。


5

CygwinはUnixをエミュレートしようとします。したがって、アプリケーションを中断しないように、大文字と小文字を区別する必要があります。Windows自体は大文字と小文字を区別しません。ファイルシステムについてです。詳細については、ファイルシステム、Microsoft Windowsのファイルシステム(Wikipedia)を参照してください。


正しい。NTFS では大文字と小文字が区別され、Windowsでのみ無効になります。それを有効にすることはできますが、それはunsupported言うまでもなく非常に重要です。
アパッチ

これはMijndertStuijではなくOPに向けられていますが、私は彼のつま先を踏もうとは思いませんでした。彼はこれに関する代表に値する。FAT(元のMS-DOSおよびWindowsバージョン)またはNTFS(Windows NT以降)のいずれであっても、大文字と小文字は区別されません。Samba(File and Print Sharingのいとこ)経由でファイルをLinuxファイルシステムに保存すると、これらの違いに少し気付くでしょう。
ユタジャーヘッド

ウィキペディアのNTFSページから:ファイル名に使用できる文字。-Posix名前空間で、U + 0000(NUL)および/(スラッシュ)を除くUTF-16コード単位(大文字と小文字を区別)。Win32名前空間では、U + 0000(NUL)/(スラッシュ)\(バックスラッシュ)を除くUTF-16コード単位(大文字と小文字は区別されません):(コロン)*(アスタリスク)?(疑問符) "(引用符)<(より小さい)>(より大きい)および|(パイプ)[5]
ユタジャーヘッド

/bIn/BaShCygwinで実行してみて、大文字と小文字が区別されることをもう一度教えてください。
マット

5

Microsoftは、NTFSディレクトリ(フォルダー)に適用できる新しい大文字と小文字を区別するフラグ(属性)を追加しました。このフラグが設定(有効)されているディレクトリの場合、FILE_FLAG_POSIX_SEMANTICSが指定されているかどうかに関係なく、そのディレクトリ内のファイルに対するすべての操作は大文字と小文字が区別されます。これは、大文字と小文字を区別するようにマークされたディレクトリに大文字と小文字のみが異なる2つのファイルがある場合、すべてのアプリケーションがそれらにアクセスできることを意味します。

以降でのWindows 10ビルド17107、Microsoftがfsutil.exeコマンドにこのフラグを表示および変更できる機能を追加しました。

ディレクトリで大文字と小文字が区別されるかどうかを確認するには、次のコマンドを実行します。

fsutil.exe file queryCaseSensitiveInfo <path>

ディレクトリを大文字と小文字を区別する、または区別しないとマークするには:

fsutil.exe file setCaseSensitiveInfo <path> enable
fsutil.exe file setCaseSensitiveInfo <path> disable

4

これはここからです。他の著者が提案HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitiveした0ようにレジストリ値を設定できます。add.reg次の内容の名前のファイルを作成して実行します。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000

次に、Cygwinを使用して、大文字と小文字を区別するファイル名を操作します。

これを行うには、この記事で提案さposix=1れているように/etc/fstab、オプションでNTFSファイルシステムをマウントする必要があります。ここに私のスニペットがあります:fstab

none                    /cygdrive       cygdrive        binary,posix=1,user             0 0
C:                      /cygdrive/c     ntfs            binary,posix=1,user,auto        0 0
C:/Users                /home           ntfs            binary,posix=1,user,auto        0 0

上記が完了したら、使用して、大文字と小文字を区別したファイル名を扱うことができるでしょうbashmcgitなど

両方を編集したら、必ず再起動してください。


3

Barfieldmvは正しいです。ファイルシステムは実際に大文字と小文字が区別され、ファイルは適切な大文字と小文字で保存されます。ファイルアクセスレイヤーは、ファイルを新しいファイル記述子に一致させるときに大文字と小文字を削除します。


1
ファイルシステムとユーザー間のこの抽象化がどのように機能するかについて、さらに詳細を提供できますか(つまり、ステップごとの例を提供します)?また、以前のOSでのopの実際の質問と、大文字と小文字を区別する動作を強制できるかどうかに対処する必要があります。
MaQleod

現在、私は巨大なLinuxオタクであるため、今日では非常に完全な回答を提供することはできません。しかし、以下を提供できます。Windows Services for Unixは、具体的には、大文字と小文字を区別しないAPIを使用しないことにより、オペレーティングシステムと同じファイルシステムを使用します。参照:support.microsoft.com/kb/817921ケース 'Preserving'がケース 'Sensitive'とどのように同じであるかについての情報は、共通アクセスレイヤーはケース 'Ignorance'を許可します:)
whardier

Windowsでは大文字と小文字が区別されず、大文字と小文字が区別されると言えます。つまり、それは(windows)文字が大文字か小文字かを認識し、両方を受け入れます。どちらかをエラーとして読み取りません。
IGRACH
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.