Omogućite način rada osjetljiv na velika i mala slova za mape u sustavu Windows 10
Kao što možda već znate, datotečni sustav Windows, NTFS, tretira nazive datoteka i mapa kao neosjetljive na velika i mala slova. Na primjer, za OS i aplikacije, MyFile.txt i myfile.txt su ista datoteka. Međutim, stvari su drugačije u Linuxu. Za ovaj OS, to su dvije različite datoteke. Ova razlika u ponašanju može stvoriti probleme za WSL korisnike. Kako bi ih riješio, Windows 10 uključuje mogućnost omogućavanja načina rada osjetljivog na velika i mala slova za mape.
Ako ste koristili Windows podsustav za Linux, vjerojatno ste svjesni da vam omogućuje da svoje Windows datotečne sustave (montirane pod /mnt/c, /mnt/d, itd.) tretirate kao osjetljive na velika i mala slova. To, između ostalog, znači da možete kreirati datoteke čiji se nazivi razlikuju samo po velikim i velikim slovima (npr. foo.txt i FOO.TXT).
Međutim, korištenje tih datoteka u sustavu Windows zapravo nije bilo moguće. Budući da Windows aplikacije tretiraju datotečni sustav kao neosjetljiv na velika i mala slova, ne mogu razlikovati datoteke čiji se nazivi razlikuju samo velikim i malim slovima. Dok bi File Explorer prikazao obje datoteke, samo bi se jedna otvorila bez obzira na koju ste kliknuli.
Počevši od Windows insajderske verzije 17093, postoji novi način rukovanja datotekama osjetljivim na velika i mala slova u sustavu Windows: osjetljivost na velika i mala slova po direktoriju. Ova je mogućnost dodana kako bi korisniku pružila bolju interoperabilnost pri korištenju datoteka osjetljivih na velika i mala slova. Također, možete ga koristiti s običnim Windows aplikacijama. Počevši od Windows 10 Build 17110, ovo ponašanje je zadano.
Više detalja
Osjetljivost velikih i malih slova u sustavu Windows
Obitelj Windows NT operativnih sustava (uključujući Windows 10) uvijek je imala mogućnost izvođenja operacija datotečnog sustava osjetljivih na velika i mala slova. Prijave mogu proći FILE_FLAG_POSIX_SEMANTICS
zastava na CreateFile
API za označavanje da žele da se put tretira kao osjetljiv na velika i mala slova. Međutim, iz razloga kompatibilnosti, postoji globalni ključ registra koji nadjačava ovo ponašanje; kada je ovaj ključ postavljen, sve operacije s datotekama ne razlikuju velika i mala slova, čak i kada je FILE_FLAG_POSIX_SEMANTICS
zastava je navedena. Od Windows XP-a, ovo je zadana postavka.
Podsustav Windows za Linux koristi drugi mehanizam, koji sam zaobilazi taj ključ registra, omogućujući nam izvođenje operacija datotečnog sustava osjetljive na velika i mala slova. To je ono što omogućuje Linux aplikacijama koje se izvode u WSL-u da koriste nazive datoteka koji se razlikuju samo po velikim i velikim slovima, baš kao što mogu na pravom Linuxu, čak i s tim globalnim skupom ključeva registra.
Nažalost, to vam ostavlja datoteke kojima Windows aplikacije ne mogu pristupiti. Iako biste mogli promijeniti globalni ključ registra, to bi i dalje funkcioniralo samo za one aplikacije koje koriste FILE_FLAG_POSIX_SEMANTICS
, a to bi promijenilo ponašanje za sve datoteke na svim pogonima, što možda nije namijenjeno i može pokvariti neke aplikacije.
Osjetljivost velikih i malih slova po direktoriju
Kako bi riješio ovaj problem, Microsoft je dodao novu oznaku osjetljivu na velika i mala slova koja se može primijeniti na direktorije. Za direktorije koji imaju postavljenu ovu zastavicu, sve operacije nad datotekama u tom direktoriju razlikuju se velika i mala slova, bez obzira na to jesu li FILE_FLAG_POSIX_SEMANTICS
bio je preciziran. To znači da ako imate dvije datoteke koje se razlikuju samo po malim i velikim slovima u direktoriju označenom kao osjetljivo na velika i mala slova, sve aplikacije će im moći pristupiti.
Omogućite način rada osjetljiv na velika i mala slova za mape
Da biste omogućili ili onemogućili ovu značajku, trebali biste koristiti ugrađenu aplikaciju fsutil.exe.
Da biste omogućili način rada koji razlikuje velika i mala slova za mape, učinite sljedeće.
- Otvorena povišeni naredbeni redak.
- Upišite sljedeću naredbu:
fsutil.exe datoteka setCaseSensitiveInfo "puni put do vaše mape" omogućite
Zamijenite dio puta ispravnim putem koji odgovara vašem računalu.
Na primjer,fsutil.exe datoteka setCaseSensitiveInfo "C:\data\Winaero\Linux" omogući
- Ti si gotov.
Sada možete stvoriti dvije datoteke s istim imenom i samo s razlikom u velikim i malim slovima. Windows 10 će ih ispravno obraditi u ovoj mapi.
Da biste vidjeli status značajke za mapu, pokrenite naredbu
fsutil.exe datoteka queryCaseSensitiveInfo "puna staza do vaše mape"
Na primjer,
fsutil.exe datoteka queryCaseSensitiveInfo "C:\data\Winaero\Linux"
Vidjet ćete nešto poput ovoga:
Konačno, da biste onemogućili način rada osjetljiv na velika i mala slova za mape, pokrenite sljedeću naredbu u naredbenom retku otvorenoj kao administrator:
Fsutil.exe datoteka setCaseSensitiveInfo "C:\data\Winaero\Linux" onemogući
Koristite ispravan put mape i gotovi ste.
Bilješka: Onemogućavanje atributa CaseSensitiveInfo za neprazne mape nije podržano. Morate ukloniti sve datoteke iz mape prije nego što je onemogućite.
To je to.