Windows Tips & News

Włącz tryb rozróżniania wielkości liter dla folderów w systemie Windows 10

click fraud protection

Jak już zapewne 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 zawiera możliwość włączenia trybu rozróżniania wielkości liter dla folderów.

Jeśli korzystałeś z Podsystem Windows dla Linuksa, prawdopodobnie zdajesz sobie sprawę, że pozwala traktować systemy plików Windows (zamontowane w /mnt/c, /mnt/d itp.) z uwzględnieniem wielkości 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 korzystanie z 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ą odróż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 klikniesz.

Począwszy od kompilacji 17093 Insider systemu Windows, 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ą interoperacyjność podczas korzystania z plików z rozróżnianiem wielkości liter. Możesz go również używać ze zwykłymi aplikacjami Windows. Począwszy od kompilacji 17110 systemu Windows 10, 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 do Utwórz plik 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śli FILE_FLAG_POSIX_SEMANTICS flaga jest określona. Od systemu Windows XP jest to ustawienie domyślne.

Podsystem Windows dla systemu Linux wykorzystuje inny mechanizm, który sam omija ten klucz rejestru, umożliwiając nam wykonywanie operacji na systemie plików z uwzględnieniem wielkości liter. To właśnie pozwala aplikacjom Linux działającym w WSL używać nazw plików, które różnią się tylko wielkością liter, tak jak w prawdziwym systemie Linux, nawet z tym zestawem kluczy rejestru globalnego.

Niestety, pozostawia to pliki, do których nie mają dostępu aplikacje systemu Windows. Chociaż możesz zmienić globalny klucz rejestru, nadal działałoby to tylko w przypadku aplikacji, które używają FILE_FLAG_POSIX_SEMANTICS, a to zmieniłoby 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 według 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, czy FILE_FLAG_POSIX_SEMANTICS został określony. 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.

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.

Aby włączyć tryb rozróżniania wielkości liter w folderach, wykonaj następujące czynności.

  1. otwarty wiersz poleceń z podwyższonym poziomem uprawnień.
  2. Wpisz następujące polecenie:
    Plik fsutil.exe setCaseSensitiveInfo „pełna ścieżka do folderu” włącz

    Zastąp część ścieżki poprawną ścieżką pasującą do twojego komputera.
    Na przykład,

    Plik fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux" włącz
  3. 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.

Aby zobaczyć stan funkcji folderu, uruchom polecenie

Zapytanie o plik fsutil.exeCaseSensitiveInfo „pełna ścieżka do Twojego folderu”

Na przykład,

Zapytanie o plik fsutil.exeCaseSensitiveInfo "C:\data\Winaero\Linux"

Zobaczysz coś takiego:

Wreszcie, aby wyłączyć tryb rozróżniania wielkości liter w folderach, uruchom następne polecenie w wierszu poleceń otwartym jako Administrator:

plik fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux" wyłączony

Użyj prawidłowej ścieżki folderu i gotowe.
Notatka: Wyłączenie atrybutu CaseSensitiveInfo dla niepustych folderów nie jest obsługiwane. Musisz usunąć wszystkie pliki z folderu przed jego wyłączeniem.

Otóż ​​to.

Pobierz archiwum i pliki wsadowe

Ta strona korzysta z plików cookie, aby poprawić wrażenia podczas poruszania się po witrynie. Z t...

Czytaj więcej

Sergey Tkachenko, autor w Winaero

Firma Microsoft wydała dziś nowe kompilacje deweloperskie Microsoft Edge. jest oparty na Chromium...

Czytaj więcej

Pobierz Pobierz skórkę Czech_vs_Slovakia_In_The_Mix dla Winampa

Ta strona korzysta z plików cookie, aby poprawić wrażenia podczas poruszania się po witrynie. Z t...

Czytaj więcej