Jak być może już wiesz, system plików Windows NTFS traktuje nazwy plików i folderów jako niewrażliwe na wielkość liter. Na przykład dla systemu operacyjnego i aplikacji MyFile.txt i myfile.txt to ten sam plik. Jednak w Linuksie jest inaczej. W przypadku tego systemu operacyjnego są to dwa różne pliki. Ta różnica w zachowaniu może powodować problemy dla użytkowników WSL. Aby je rozwiązać, system Windows 10 umożliwia włączenie trybu rozróżniania wielkości liter w folderach.
Reklama
Jeśli korzystałeś z Podsystem Windows dla systemu Linux , prawdopodobnie wiesz, że pozwala to traktować systemy plików Windows (zamontowane pod / mnt / c, / mnt / d itp.) jako wrażliwe na wielkość liter. Oznacza to między innymi, że możesz tworzyć pliki, których nazwy różnią się tylko wielkością liter (np. Foo.txt i FOO.TXT).
Jednak użycie tych plików w systemie Windows nie było tak naprawdę możliwe. Ponieważ aplikacje Windows traktują system plików jako niewrażliwy na wielkość liter, nie mogą rozróżnić plików, których nazwy różnią się tylko wielkością liter. Podczas gdy Eksplorator plików pokaże oba pliki, tylko jeden zostanie otwarty, niezależnie od tego, który kliknąłeś.
Począwszy od kompilacji niejawnych testerów systemu Windows 17093, istnieje nowy sposób obsługi plików z rozróżnianiem wielkości liter w systemie Windows: rozróżnianie wielkości liter według katalogu. Ta możliwość została dodana, aby zapewnić użytkownikowi lepszą współpracę podczas korzystania z plików z uwzględnieniem wielkości liter. Możesz go również używać ze zwykłymi aplikacjami Windows. Począwszy od Windows 10 Build 17110, to zachowanie jest domyślne.
Więcej szczegółów
Rozróżnianie wielkości liter w systemie Windows
Rodzina systemów operacyjnych Windows NT (w tym Windows 10) zawsze miała możliwość wykonywania operacji na systemie plików z rozróżnianiem wielkości liter. Aplikacje mogą przejśćFILE_FLAG_POSIX_SEMANTICS
flaga doCreateFile
API, aby wskazać, że chcą, aby ścieżka była traktowana z uwzględnieniem wielkości liter. Jednak ze względu na zgodność istnieje globalny klucz rejestru, który zastępuje to zachowanie; gdy ten klucz jest ustawiony, wszystkie operacje na plikach nie uwzględniają wielkości liter, nawet jeśliFILE_FLAG_POSIX_SEMANTICS
flaga jest określona. Od Windows XP jest to ustawienie domyślne.
niebieski ekran zarządzanie pamięcią Windows 10
Podsystem Windows dla systemu Linux wykorzystuje inny mechanizm, który sam omija ten klucz rejestru, umożliwiając nam wykonywanie operacji systemu plików z rozróżnianiem wielkości liter. To właśnie pozwala aplikacjom Linux działającym w WSL na używanie nazw plików różniących się tylko wielkością liter, tak jak w prawdziwym Linuksie, nawet z tym globalnym zestawem kluczy rejestru.
Niestety, powoduje to pozostawienie plików, do których nie mają dostępu aplikacje systemu Windows. Chociaż można zmienić globalny klucz rejestru, będzie to działać tylko w przypadku aplikacji, które używająFILE_FLAG_POSIX_SEMANTICS
, a to zmieni zachowanie wszystkich plików na wszystkich dyskach, co może nie być zamierzone i może spowodować uszkodzenie niektórych aplikacji.
Rozróżnianie wielkości liter w każdym katalogu
Aby rozwiązać ten problem, firma Microsoft dodała nową flagę uwzględniającą wielkość liter, którą można zastosować do katalogów. W przypadku katalogów, które mają ustawioną tę flagę, wszystkie operacje na plikach w tym katalogu uwzględniają wielkość liter, niezależnie od tego, czyFILE_FLAG_POSIX_SEMANTICS
został określony. Oznacza to, że jeśli masz dwa pliki różniące się tylko wielkością liter w katalogu oznaczonym jako rozróżniana wielkość liter, wszystkie aplikacje będą miały do nich dostęp.
Włącz tryb rozróżniania wielkości liter dla folderów
Aby włączyć lub wyłączyć tę funkcję, należy użyć wbudowanej aplikacji fsutil.exe.
Włączanie trybu rozróżniania wielkości liter w folderach wykonaj następujące czynności.
- otwarty podwyższony wiersz polecenia .
- Wpisz następujące polecenie:
Plik fsutil.exe setCaseSensitiveInfo „pełna ścieżka do folderu” włącz
Zastąp fragment ścieżki prawidłową ścieżką pasującą do twojego komputera.
Na przykład,Plik fsutil.exe setCaseSensitiveInfo 'C: data Winaero Linux' włącz
- Skończyłeś.
Teraz możesz utworzyć dwa pliki o tej samej nazwie i tylko z różnicą wielkości liter. Windows 10 przetworzy je poprawnie w tym konkretnym folderze.
jak pokazać fps w lidze legend
Aby zobaczyć stan funkcji folderu, uruchom polecenie
Plik fsutil.exe queryCaseSensitiveInfo „pełna ścieżka do folderu”
Na przykład,
Plik fsutil.exe queryCaseSensitiveInfo 'C: data Winaero Linux'
Zobaczysz coś takiego:
jak mogę wyłączyć ps4 z trybu awaryjnego?
Wreszcie, aby wyłączyć tryb rozróżniania wielkości liter w folderach , uruchom następne polecenie w wierszu polecenia otwartym jako Administrator:
Plik fsutil.exe setCaseSensitiveInfo 'C: data Winaero Linux' wyłącz
Użyj poprawnej ścieżki do folderu i gotowe.
Uwaga: Wyłączenie atrybutu CaseSensitiveInfo dla niepustych folderów nie jest obsługiwane. Musisz usunąć wszystkie pliki z folderu przed jego wyłączeniem.
Otóż to.