Windows 10 oferuje teraz opcjonalny system plików rozróżniający wielkość liter, podobnie jak Linux i inne systemy operacyjne podobne do UNIX. Wszystkie procesy systemu Windows będą prawidłowo obsługiwać pliki i foldery uwzględniające wielkość liter, jeśli ta funkcja zostanie włączona. Innymi słowy, zobaczą "plik" i "Plik" jako dwa oddzielne pliki.
Jest to funkcja systemu plików NTFS, którą można włączyć na podstawie pojedynczego katalogu. Nie dotyczy całego systemu plików, więc można włączyć opcję rozróżniania wielkości liter w określonych folderach używanych do celów programistycznych.
Rozróżnianie wielkości liter zostało dodane w aktualizacji systemu Windows 10 z kwietnia 2018 roku. Wcześniej możliwe było montowanie folderów systemu Windows z uwzględnieniem wielkości liter w środowisku Bash w systemie Windows, znanym również jako Podsystem Windows dla systemu Linux. To działało dobrze w środowisku Linux, ale dezorientowało zwykłe aplikacje Windows. Jest to teraz funkcja poziomu systemu plików, co oznacza, że wszystkie aplikacje systemu Windows zobaczą także system plików z rozróżnianiem wielkości liter w tym folderze.
Ta funkcja jest włączona przez fsutil.exe
polecenie, które musisz uruchomić z wiersza poleceń. Możesz to zrobić z poziomu okna wiersza poleceń lub okna PowerShell. Przy ustawieniach domyślnych foldery tworzone w środowisku Linux są automatycznie konfigurowane tak, aby uwzględniały wielkość liter.
Aby rozpocząć, kliknij prawym przyciskiem myszy przycisk Start, a następnie wybierz polecenie "PowerShell (Administrator)". Jeśli wolisz używać Wiersza poleceń, możesz wyszukać "Wiersz polecenia" w menu Start, kliknąć go prawym przyciskiem myszy, a następnie wybrać polecenie "Uruchom jako administrator". Polecenie działa tak samo, bez względu na to, jakie środowisko wybierzesz.
Być może nie potrzebujesz dostępu administratora, aby uruchomić to polecenie, w zależności od twoich uprawnień. Z technicznego punktu widzenia potrzebujesz uprawnienia "zapisuj atrybuty" dla katalogu, który chcesz zmodyfikować. W większości przypadków oznacza to, że będziesz potrzebować uprawnień administratora, jeśli chcesz edytować folder gdzieś poza folderem użytkownika - na przykład c: \ project - a nie, jeśli chcesz zmienić folder gdzieś w folderze użytkownika - np. jak w c: \ users \IMIĘ\projekt.
Przed kontynuowaniem upewnij się, że żadne uruchomione oprogramowanie Linuksa nie odwołuje się do katalogu, który zamierzasz zmodyfikować. Nie należy zmieniać flagi rozróżniania wielkości liter w folderze, gdy oprogramowanie systemu Linux uzyskuje do niego dostęp. Jeśli którykolwiek z uruchomionych procesów Linuksa ma obecnie katalog lub cokolwiek w katalogu otwartym, nawet jako ich bieżący katalog roboczy, aplikacje systemu Linux nie rozpoznają zmiany i mogą wystąpić problemy.
Aby rozróżnić wielkość liter w folderze, wpisz następujące polecenie, zastępując "C: \ folder" ścieżką do folderu:
Plik fsutil.exe setCaseSensitiveInfo C: \ folder enable
Jeśli ścieżka folderu zawiera spację, należy ująć całą ścieżkę w cudzysłów, na przykład:
Plik fsutil.exe setCaseSensitiveInfo "C: \ my folder" enable
Flaga rozróżniania wielkości liter ma wpływ tylko na określony folder, do którego jest stosowana. Nie jest automatycznie dziedziczone przez podfoldery tego folderu.
Innymi słowy, jeśli masz folder o nazwie C: \ folder i ma on podfoldery C: \ folder \ test i C: \ folder \ materiał, po prostu uczynienie folderu C: \ tak, aby nie powodowało Podfoldery "test" i "materiał" wewnątrz niego uwzględniają wielkość liter. Musisz uruchomić odpowiednie fsutil
polecenie oddzielnie, aby wszystkie trzy foldery rozróżniały wielkość liter.
Narzędzia systemu Linux uruchamiane w podsystemie Windows dla systemu Linux (powłoka Bash) tworzą teraz foldery z ustawionym znacznikiem wielkości liter. Tak więc, niezależnie od tego, czy używasz mkdir
polecenie, aby utworzyć katalog wewnątrz powłoki Bash lub narzędzie programistyczne robi to za Ciebie, utworzony katalog jest automatycznie ustawiany jako wielkość liter - nawet jeśli utworzysz go w zamontowanym systemie plików Windows.
Technicznie, dzieje się tak, ponieważ system plików DrvFs dla środowiska Linux używa case = dir
domyślnie flaga. The case = dir
opcja ustawia środowisko Linux do respektowania flagi NTFS każdego katalogu i automatycznie ustawia flagę wrażliwości na wielkość liter na katalogach utworzonych ze środowiska Linux. Możesz zmienić tę opcję w swoim pliku wsl.conf, jeśli chcesz.
Tak długo, jak tworzysz foldery ze środowiska Linux, są one tworzone z właściwymi ustawieniami wielkości liter i nigdy nie musisz dotykać polecenia fsutil.exe.
Aby sprawdzić, czy w katalogu jest rozróżniana wielkość liter, uruchom następujące polecenie, zastępując "C: \ folder" ścieżką do folderu.
Plik fsutil.exe queryCaseSensitiveInfo C: \ folder
Jeśli dla katalogu jest włączona rozróżniana wielkość liter, zobaczysz, że włączona jest opcja "Rozróżnianie wielkości liter w katalogu [ścieżka]." Jeśli katalog używa standardowej wielkości znaków niewidoczności w przypadku systemu Windows, zobaczysz, że atrybut katalog [ścieżka] jest wyłączony. "
Aby cofnąć zmiany i uczynić wielkość liter nieczytelną ponownie (tak jak zamierzał to Bill Gates), uruchom następujące polecenie, zastępując "C: \ folder" ścieżką do folderu.
Plik fsutil.exe setCaseSensitiveInfo C: \ folder wyłączony
Jeśli spróbujesz wyłączyć wielkość liter w folderze zawierającym pliki o nazwach, które mogłyby się kolidować, zobaczysz komunikat "Błąd: katalog nie jest pusty". Przed kontynuowaniem musisz usunąć lub zmienić nazwy plików będących w konflikcie.