Chcę, aby system Windows 7 rozróżniał wielkość liter, gdy odczytuje / zapisuje cokolwiek na dysku twardym (dysk C lub inny dysk NTFS).
Znalazłem wideo za pośrednictwem Google, które mówi, aby zmienić klucz rejestru
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath
do wartości 1 ( źródło ).
Znalazłem również element obsługi systemu Windows, który mówi coś o modyfikowaniu klucza rejestru
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
co prowadzi mnie do założenia, że podanie wartości 0 sprawi, że Windows rozróżni wielkość liter w systemach plików NTFS ( źródło ).
Mam wrażenie, że drugie rozwiązanie jest odpowiedzią, ale nie jestem pewien i nie chcę tego wypróbować bez pewności.
Czy ktoś wie na pewno, jaki jest właściwy sposób na rozróżnianie wielkości liter w systemie Windows 7 podczas odczytu / zapisu na dysku C (i na innym dysku NTFS)?
źródło
cygwin1.dll
zostanie wyładowane z pamięci RAM.HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
support.microsoft.com/en-us/kb/929110Aby faktycznie utworzyć 2 pliki o tej samej nazwie, ale z różną wielkością liter w tym samym katalogu, musisz zainstalować Unix Services 3.5, ale działa to tylko w 32-bitowym systemie Windows. Następnie musisz uruchomić „C Shell”, aby utworzyć pliki. Nie można tworzyć plików za pomocą Eksploratora. Po utworzeniu Eksplorator nie gra z plikami. Jeśli zmienisz nazwę drugiego, kursor przeskoczy do pierwszego. Ponadto większość aplikacji może otwierać tylko jeden plik, ponieważ oczekują systemu plików bez rozróżniania wielkości liter. Jeśli korzystasz z wersji 64-bitowej, zainstaluj Cygwin i zmień na wielkość liter.
Próbowałem emulować system plików Linux z rozróżnianiem wielkości liter do celów debugowania podczas programowania. Wydaje się, że lepszym rozwiązaniem jest użycie VMWare z instancją Ubuntu do programowania.
źródło
Wszystkie te ustawienia, które można znaleźć w Internecie, dotyczą NFS, a nie NTFS (zauważ różnicę)!
NFS (Network File System) to protokół sieciowy.
W ten sposób zmiana klucza rejestru
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
NIE zmieni niczego, co chcesz.W systemie plików NTFS rozróżniana jest wielkość liter, ale interfejs API systemu Windows NIE , zapamiętuje tylko wielkość liter w nazwie. Oznacza to, że pomimo tego, że plik jest wyświetlany, ponieważ
AbC.TXT
nadal jest dostępny przezabc.txt
iaBc.TxT
. Jest to ograniczenie systemu Windows, a nie NTFS.Drugi
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath
zasadniczo wyłącza normalizację starszych nazw plików 8.3 używanych przez DOS (wszystkie są wielkimi literami). Po włączeniu (domyślnie)ABC.TXT
będzie wyświetlany jakoAbc.txt
, ale nadal będzie dostępny dla wszystkich innych odmian.Aby być bardziej dokładnym:
W rzeczywistości zależy to od oprogramowania, które uzyskuje dostęp do FS.
Jeśli używa interfejsu WIN32 API (co robi 99,9% oprogramowania), bez względu na to, co zrobisz, nie będzie uwzględniana wielkość liter. Całe wbudowane oprogramowanie w systemie Windows (takie jak Eksplorator, wiersz polecenia, Internet Explorer itp.) I całe oprogramowanie konsumenckie korzysta z WIN32 i zawsze rozróżnia wielkość liter.
Usługa NFS, Java i niektóre inne są POSIX i będą przestrzegać ustawienia rejestru „obcaseinsensitive”. Jednak wyłączenie tej opcji może powodować większe problemy, ponieważ to oprogramowanie może tworzyć pliki, które nie są dostępne z poziomu systemu Windows i innego oprogramowania Win32.
źródło
SHORT.class
iShort.class
w tym samym katalogu, to nie będzie działać. (Oczywiście, jeśli znajdują się w pliku .jar, nie ma problemu.)Myślę, że tego właśnie szukasz:
http://www.chilkatsoft.com/p/p_454.asp
Ta strona zaleca ustawienie
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
na 0, aby rozróżnić wielkość liter. Myślę, że już to znalazłeś i wygląda to na standardowy sposób (sugeruje to nawet znaleziony KB firmy Microsoft).Wygląda na to, że musisz zmienić ustawienia jądra. Uważaj jednak na aktualizacje.
EDYCJA: Uważaj jednak, niektóre programy mogą zależeć od rozróżniania wielkości liter.
EDYCJA: Prawdopodobnie możesz użyć partycji UDF. W tym systemie plików rozróżniana jest wielkość liter i myślę, że działa zarówno w systemie Windows, jak i Linux.
Zobacz to i to .
źródło
Co Microsoft ma do powiedzenia na temat NTFS i zmiany wielkości liter.
Wygląda na to, że nie musisz zmieniać jądra, aby umożliwić wyszukiwanie z rozróżnianiem wielkości liter w sieci.
http://technet.microsoft.com/en-us/library/cc783185(WS.10).aspx
.
Konfigurowanie rozróżniania wielkości liter w nazwach plików i folderów
Aby skonfigurować rozróżnianie wielkości liter w nazwach plików i folderów za pomocą wiersza polecenia Otwórz wiersz polecenia.
.
źródło
Stany Microsoft ;
Zezwolenie na rozróżnianie wielkości liter w systemie Windows pozwoliłoby złośliwemu oprogramowaniu na tworzenie plików, do których użytkownik nie może uzyskać dostępu ani usunąć, więc nie jest to dozwolone z ważnych powodów.
W każdym razie jestem całkiem pewien, że jeśli udało Ci się rozróżnić wielkość liter w systemie plików NTFS, system Windows ulegnie awarii, a ponowna instalacja będzie jedynym rozwiązaniem.
źródło