Apakah semua versi Windows case peka?


18

Saya tahu OS Windows (umumnya) tidak sensitif huruf. Apakah ini berlaku untuk semua OS Windows (dari Windows 95 hingga Windows 7)? Apakah ada pengaturan registri untuk membuat Windows case sensitif?


2
Ya, seperti semua versi MS-DOS dari mana atribut ini diwarisi. (Tentu saja MS-DOS tidak menyimpan case, jadi semuanya telah bergerak maju :-).)
Richard

Kasus tidak sensitif sehubungan dengan apa? Nama file? Kata sandi?
Peter Mortensen

Jawaban:


15

Ya, ini berlaku untuk semua versi Windows. Tidak ada cara untuk membuat Windows case sensitive. Perlu diingat bahwa beberapa aplikasi yang awalnya dikembangkan untuk Unix / Linux dan kemudian porting mungkin peka terhadap huruf besar-kecil. Cygwin, misalnya, peka terhadap huruf besar-kecil. Perilaku ini sangat langka.


7
"Tidak ada cara untuk membuat Windows case sensitive." tidak cukup akurat. Ada cara untuk membuat bagian-bagian dari Windows case-sensitive, seperti yang dijelaskan dalam jawaban lain.
sleske

Memang benar bahwa dari sudut pandang pengguna , nama file Windows tidak peka huruf besar-kecil, dan tidak ada cara (mudah) untuk mengubahnya.
sleske

Beberapa aspek Windows dapat dibuat peka huruf besar-kecil, tetapi bergantung pada kemampuan PC lain. Menyimpan ke direktori bersama yang benar-benar di PC Linux akan memungkinkan nama file case sensitif untuk digunakan. Ini karena FILESYSTEM seperti yang dikatakan @sleske, bukan karena "ini Windows"
UtahJarhead

1
Ini tidak sepenuhnya benar. Anda dapat membuat severs versi Windows dan beberapa case versi desktop peka dengan Windows Services untuk UNIX.
Keltari

1
@ Matt Jawaban ini tidak benar (walaupun itu adalah jawaban yang sesuai yang diposting). Anda hanya tidak mengaktifkan sensitivitas case. superuser.com/questions/266110/... Saya harus mengajukan satu file bernama testfile dan Testfile. /bIn/BaShtidak bekerja di sistem saya.
William


5

Cygwin mencoba meniru Unix. Oleh karena itu perlu mewarisi sensitivitas kasus untuk tidak merusak aplikasi. Windows itu sendiri tidak peka huruf besar-kecil. Ini tentang sistem file. Anda dapat membaca lebih lanjut tentang itu di sistem File, Sistem file di bawah Microsoft Windows (Wikipedia).


Benar. NTFS adalah case-sensitive, itu hanya dinonaktifkan pada Windows. Seseorang dapat mengaktifkannya tetapi sangat unsupported..begitu dikatakan.
Apache

Ini diarahkan ke OP bukan MijndertStuij, tapi saya tidak ingin menginjak kakinya. Dia berhak atas perwakilan yang satu ini. Apakah itu FAT (seperti versi MS-DOS dan Windows asli) atau NTFS (Windows NT dan yang lebih baru), semuanya tidak peka huruf besar-kecil. Anda akan melihat sedikit perbedaan ini jika Anda menyimpan file ke sistem file Linux melalui Samba (sepupu File and Print Sharing).
UtahJarhead

Dari halaman Wikipedia NTFS: Karakter yang diizinkan dalam nama file. - Dalam namespace Posix, setiap unit kode UTF-16 (peka huruf besar kecil) kecuali U + 0000 (NUL) dan / (garis miring). Dalam Win32 namespace, setiap unit kode UTF-16 (tidak sensitif huruf) kecuali U + 0000 (NUL) / (slash) \ (backslash): (titik dua) * (tanda bintang)? (Tanda tanya) "(kutipan) <(kurang dari)> (lebih besar dari) dan | (pipa) [5]
UtahJarhead

Coba jalankan /bIn/BaShdi Cygwin dan beri tahu saya lagi bahwa ini case-sensitive.
Matt

5

Microsoft menambahkan flag sensitif huruf baru (atribut) yang dapat diterapkan ke direktori NTFS (folder). Untuk direktori yang memiliki set flag ini (diaktifkan), semua operasi pada file dalam direktori itu peka huruf besar kecil, terlepas dari apakah FILE_FLAG_POSIX_SEMANTICS ditentukan. Ini berarti bahwa jika Anda memiliki dua file yang berbeda hanya berdasarkan kasus dalam direktori yang ditandai sebagai case sensitif, semua aplikasi akan dapat mengaksesnya.

Dimulai dengan Windows 10 build 17107 , Microsoft telah menambahkan kemampuan untuk melihat dan memodifikasi flag ini ke perintah fsutil.exe.

Untuk memeriksa apakah direktori peka huruf besar kecil, jalankan perintah berikut:

fsutil.exe file queryCaseSensitiveInfo <path>

Untuk menandai direktori sebagai case sensitive, atau case-sensitive:

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

4

Ini dari sini . Anda dapat mengatur nilai HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitiveregistri 0seperti yang disarankan penulis lain. Buat file add.regdengan nama konten berikut dan jalankan.

Windows Registry Editor Version 5.00

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

Kemudian gunakan Cygwin untuk bekerja dengan nama file case-sensitive.

Untuk melakukannya, Anda perlu me-mount sistem file NTFS dengan posix=1opsi di Anda /etc/fstab, seperti yang disarankan artikel ini . Berikut cuplikan dari saya 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

Setelah di atas dilakukan, Anda akan dapat menangani kasus-sensitif nama file menggunakan bash, mc, gitdll

Pastikan untuk reboot setelah mengedit keduanya.


3

Barfieldmv benar. Sistem file memang case sensitif dan file disimpan dengan case yang sesuai. Lapisan akses file bertanggung jawab untuk menghapus case ketika mencocokkan file dengan deskriptor file baru


1
Bisakah Anda memberikan perincian lebih lanjut tentang bagaimana abstraksi antara sistem berkas dan pengguna ini bekerja (yaitu, berikan contoh langkah demi langkah)? Anda juga harus menjawab pertanyaan op aktual pada OS sebelumnya dan apakah perilaku case-sensitive dapat dipaksakan.
MaQleod

Saya tidak akan dapat memberikan jawaban yang sangat lengkap saat ini karena saya seorang nerd Linux besar sekarang .. Namun saya dapat menawarkan yang berikut. Layanan Windows untuk Unix menggunakan sistem file yang sama seperti sistem operasi, khususnya, dengan tidak menggunakan API yang memungkinkan ketidakpekaan huruf besar-kecil. Lihat: support.microsoft.com/kb/817921 untuk info tentang bagaimana Case 'Preserving' sama dengan Case 'Sensitive' namun lapisan akses yang umum memungkinkan Case 'Ignorance' :)
whardier

Anda bisa mengatakan bahwa windows tidak peka huruf besar-kecil, tetapi hanya huruf besar / kecil. Itu berarti bahwa (windows) tahu apakah huruf naik atau turun dan menerima keduanya. Itu tidak membaca satu atau yang lain sebagai dan kesalahan.
IGRACH
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.