Wiem, że system operacyjny Windows (ogólnie) nie uwzględnia wielkości liter. Czy dotyczy to wszystkich systemów operacyjnych Windows (od Windows 95 do Windows 7)? Czy istnieje konfiguracja rejestru, która rozróżnia wielkość liter w systemie Windows?
18
Odpowiedzi:
Tak, dotyczy to wszystkich wersji systemu Windows. Nie ma sposobu, aby rozróżnić wielkość liter w systemie Windows. Pamiętaj jednak, że w niektórych aplikacjach, które zostały pierwotnie opracowane dla systemu Unix / Linux, a następnie przeniesione, rozróżniana jest wielkość liter. Na przykład w Cygwin rozróżniana jest wielkość liter. Takie zachowanie jest jednak niezwykle rzadkie.
źródło
/bIn/BaSh
nie działa w moim systemie.W rzeczywistości zależy to od podsystemu API / Windows, z którego korzystasz (twój program).
Jeśli używasz „ Windows API ” (standard dla aplikacji Windows), nazwy plików nie uwzględniają wielkości liter. Jeśli jednak korzystasz z podsystemu POSIX (inaczej Windows Services for Unix), możesz włączyć rozróżnianie wielkości liter.
Zobacz np. Ten artykuł MS Support: Włącz zachowanie z rozróżnianiem wielkości liter w Windows XP i podsystemie Interix lub SFU
źródło
Cygwin próbuje emulować Uniksa. Dlatego musi dziedziczyć rozróżnianie wielkości liter, aby nie przerywać aplikacji. Sam system Windows nie rozróżnia wielkości liter. Chodzi o system plików. Możesz przeczytać więcej na ten temat w systemie plików, systemach plików w systemie Microsoft Windows (Wikipedia).
źródło
unsupported
tak powiem./bIn/BaSh
w Cygwin i powiedz mi, że wielkość liter ma znaczenie.Microsoft dodał nową flagę (atrybut) uwzględniającą wielkość liter, którą można zastosować do katalogów (folderów) NTFS. W przypadku katalogów, w których ta flaga jest ustawiona (włączona), we wszystkich operacjach na plikach w tym katalogu rozróżniana jest wielkość liter, niezależnie od tego, czy określono FILE_FLAG_POSIX_SEMANTICS. Oznacza to, że jeśli masz dwa pliki, które różnią się tylko wielkością liter w katalogu oznaczonym jako rozróżniana wielkość liter, wszystkie aplikacje będą mogły uzyskać do nich dostęp.
Począwszy od wersji 17107 systemu Windows 10 , Microsoft dodał możliwość wyświetlania i modyfikowania tej flagi do polecenia fsutil.exe.
Aby sprawdzić, czy w katalogu rozróżniana jest wielkość liter, uruchom następujące polecenie:
Aby oznaczyć katalog jako rozróżniający małe lub małe lub duże litery:
źródło
To jest stąd . Możesz ustawić
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
wartość rejestru na0
sugerowaną przez innych autorów. Utwórz plik oadd.reg
następującej treści i uruchom go.Następnie użyj Cygwin do pracy z nazwami plików, w których rozróżniana jest wielkość liter.
Aby to zrobić, musisz zamontować systemy plików NTFS z
posix=1
opcją w swoim/etc/fstab
, jak sugeruje ten artykuł . Oto fragment mojegofstab
:Po dokonaniu powyższych jest zrobione, będziesz w stanie radzić sobie z wielkość liter nazw korzystających
bash
,mc
,git
etc.Pamiętaj, aby zrestartować komputer po edycji obu.
źródło
Barfieldmv ma rację. W systemie plików rzeczywiście rozróżniana jest wielkość liter, a pliki są przechowywane z odpowiednią wielkością liter. Warstwa dostępu do plików jest odpowiedzialna za usunięcie sprawy podczas dopasowywania plików do nowych deskryptorów plików
źródło