Povoľte režim rozlišovania malých a veľkých písmen pre priečinky v systéme Windows 10
Ako už možno viete, systém súborov Windows, NTFS, zaobchádza s názvami súborov a priečinkov tak, že nerozlišujú veľké a malé písmená. Napríklad pre OS a aplikácie sú MyFile.txt a myfile.txt rovnaký súbor. V Linuxe sú však veci iné. Pre tento OS sú to dva rôzne súbory. Tento rozdiel v správaní môže spôsobiť problémy používateľom WSL. Na ich vyriešenie obsahuje systém Windows 10 možnosť povoliť režim rozlišovania malých a veľkých písmen pre priečinky.
Ak ste použili Subsystém Windows pre Linux, pravdepodobne viete, že vám umožňuje považovať vaše súborové systémy Windows (pripojené pod /mnt/c, /mnt/d atď.) za citlivé na malé a veľké písmená. To okrem iného znamená, že môžete vytvárať súbory, ktorých názvy sa líšia iba veľkosťou písmen (napr. foo.txt a FOO.TXT).
Používanie týchto súborov v systéme Windows však v skutočnosti nebolo možné. Keďže aplikácie systému Windows zaobchádzajú so súborovým systémom bez ohľadu na veľkosť písmen, nedokážu rozlišovať medzi súbormi, ktorých názvy sa líšia iba veľkosťou písmen. Zatiaľ čo Prieskumník zobrazuje oba súbory, otvorí sa iba jeden bez ohľadu na to, na ktorý ste klikli.
Počnúc zostavou Windows insider build 17093 je tu nový spôsob, ako pracovať so súbormi, v ktorých sa rozlišujú malé a veľké písmená v systéme Windows: rozlišovanie malých a veľkých písmen v jednotlivých adresároch. Táto schopnosť bola pridaná s cieľom poskytnúť používateľovi lepšiu interoperabilitu pri používaní súborov, v ktorých sa rozlišujú malé a veľké písmená. Môžete ho tiež použiť s bežnými aplikáciami systému Windows. Od verzie Windows 10 Build 17110 je toto správanie predvolené.
Viac informácií
Rozlišovanie malých a veľkých písmen v systéme Windows
Rodina operačných systémov Windows NT (vrátane Windows 10) mala vždy možnosť vykonávať operácie so súborovým systémom, v ktorých sa rozlišujú malé a veľké písmená. Prihlášky môžu prejsť FILE_FLAG_POSIX_SEMANTICS
vlajka do CreateFile
API, aby naznačili, že chcú, aby sa s cestou zaobchádzalo ako s veľkosťou písmen. Z dôvodov kompatibility však existuje globálny kľúč databázy Registry, ktorý toto správanie prepíše; keď je tento kľúč nastavený, všetky operácie so súbormi nerozlišujú veľké a malé písmená, aj keď je FILE_FLAG_POSIX_SEMANTICS
je zadaný príznak. Od systému Windows XP je to predvolené nastavenie.
Subsystém Windows pre Linux používa ďalší mechanizmus, ktorý sám obchádza tento kľúč databázy Registry, čo nám umožňuje vykonávať operácie so súborovým systémom, v ktorých sa rozlišujú malé a veľké písmená. To umožňuje aplikáciám Linuxu spusteným vo WSL používať názvy súborov, ktoré sa líšia iba veľkosťou písmen, rovnako ako v skutočnom systéme Linux, dokonca aj s touto súpravou globálnych kľúčov registra.
Bohužiaľ vám to ponecháva súbory, ku ktorým nemajú prístup aplikácie Windows. Aj keď by ste mohli zmeniť globálny kľúč databázy Registry, stále by to fungovalo iba pre aplikácie, ktoré ho používajú FILE_FLAG_POSIX_SEMANTICS
, čo by zmenilo správanie všetkých súborov na všetkých jednotkách, čo nemusí byť zámerné a môže to poškodiť niektoré aplikácie.
Rozlišovanie malých a veľkých písmen v jednotlivých adresároch
Na vyriešenie tohto problému spoločnosť Microsoft pridala nový príznak rozlišovania malých a veľkých písmen, ktorý možno použiť na adresáre. Pre adresáre, ktoré majú tento príznak nastavený, všetky operácie so súbormi v tomto adresári rozlišujú veľké a malé písmená bez ohľadu na to, či FILE_FLAG_POSIX_SEMANTICS
bola špecifikovaná. To znamená, že ak máte dva súbory, ktoré sa líšia iba veľkosťou písmen v adresári označenom ako rozlišujúce veľké a malé písmená, všetky aplikácie k nim budú mať prístup.
Povoliť režim rozlišovania malých a veľkých písmen pre priečinky
Ak chcete povoliť alebo zakázať túto funkciu, mali by ste použiť vstavanú aplikáciu fsutil.exe.
Ak chcete povoliť režim rozlišovania malých a veľkých písmen pre priečinky, urobte nasledovné.
- Otvorené zvýšený príkazový riadok.
- Zadajte nasledujúci príkaz:
fsutil.exe súbor setCaseSensitiveInfo povoliť „úplnú cestu k vášmu priečinku“.
Nahraďte časť cesty správnou cestou zodpovedajúcou vášmu počítaču.
Napríklad,Povoliť súbor fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux"
- Skončil si.
Teraz môžete vytvoriť dva súbory s rovnakým názvom a len s rozdielom malých a veľkých písmen. Windows 10 ich správne spracuje v tomto konkrétnom priečinku.
Ak chcete zobraziť stav funkcie pre priečinok, spustite príkaz
súbor fsutil.exe queryCaseSensitiveInfo "úplná cesta k vášmu priečinku"
Napríklad,
súbor fsutil.exe queryCaseSensitiveInfo "C:\data\Winaero\Linux"
Uvidíte niečo takéto:
nakoniec zakázať režim rozlišovania malých a veľkých písmen pre priečinky, spustite ďalší príkaz v príkazovom riadku, ktorý sa otvorí ako správca:
súbor fsutil.exe setCaseSensitiveInfo "C:\data\Winaero\Linux" zakázať
Použite správnu cestu k priečinku a máte hotovo.
Poznámka: Zakázanie atribútu CaseSensitiveInfo pre neprázdne priečinky nie je podporované. Pred zakázaním priečinka musíte odstrániť všetky súbory.
To je všetko.